2016-07-19 61 views
0

我正試圖在cygwin上使用restclient-cpp;然而,當我嘗試編譯和安裝庫,我得到以下信息:編譯Cygwin上的restclient-cpp不會構建共享庫

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

事實上,我的程序編譯,直到當LD試圖有效地鏈接可執行文件,用錯誤的字符串都說點:

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 

有沒有可能的解決方案呢?

我編譯在Cygwin上使用GCC 6.1.0,2.4.6的libtool

編輯:Github上提交的問題在https://github.com/mrtazz/restclient-cpp/issues/55,也許庫的作者將有一個答案。

+0

你知道是什麼提供'RestClient :: post'? – matzeri

+0

restclient-cpp應該是;但是,共享庫不會生成,因此無法鏈接。 – Absox

回答

0

假設庫中的所有符號都可用, 您需要在相關Makefile.am 旗-no-undefined添加到適當的your_lib_la_LDFLAGS

見的libtool男子-no-undefined

+0

我試過了;然而,在我看來,它只是壓制警告。動態鏈接庫仍然不能構建。 – Absox

+0

如果由於缺少定義而失敗,則警告/錯誤應該在那裏。 – matzeri