2016-07-19 21 views
0

restclient-cppをcygwinで使用しようとしています。しかし、私は、ライブラリをコンパイルしてインストールしようとしたとき、私は次のメッセージが出ます:エラーの文字列を使用して、実行可能ファイルをリンクするために、LDの試みが効果的にすべて言ったときにCygwinでのrestclient-cppのコンパイルで共有ライブラリが構築されない

実際
libtool: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared 
libraries; building static only 

を、私のプログラムは、ポイントまでコンパイル:

undefined reference to `RestClient::post(std::string const&, std::string const&, 
std::string const&)' 
    relocation truncated to fit: R_X86_64_PC32 against undefined symbol `RestClient::post(
std::string const&, std::string const&, std::string const&)' 
collect2: error: ld returned 1 exit status 

解決方法はありますか?私はGCC 6.1.0でのcygwinでコンパイルしてい

は、2.4.6

EDIT libtoolの:https://github.com/mrtazz/restclient-cpp/issues/55でGithubの問題を提出、おそらくライブラリの作者は答えを持っています。

+0

ためにlibtoolの男を参照してください適切なyour_lib_la_LDFLAGS

に関連Makefile.am フラグ-no-undefinedに追加する必要があるあなたは何を知っていますか 、ライブラリ内のすべてのシンボルが利用可能であることを仮定すると、 'RestClient :: post'を提供していますか? – matzeri

+0

restclient-cppにする必要があります。ただし、共有ライブラリは構築されないため、リンクすることはできません。 – Absox

答えて

0

あなたは-no-undefined

+0

私はこれを試しました。しかし、それは単に警告を抑止するだけのようです。ダイナミックリンクライブラリはまだ構築されていません。 – Absox

+0

定義が不足している場合は、警告/エラーが表示されます。 – matzeri

関連する問題