[英]Third party library causes 'undefined reference' compiler errors?
我是C ++的新手。 我正在創建一個使用libcurlpp
來訪問網頁的簡單GUI應用程序,如下所示:
#include <sstream>
#include <string>
#include <curlpp/cURLpp.hpp>
#include <curlpp/Options.hpp>
using curlpp::Cleanup;
using curlpp::options::Url;
using std::ostringstream;
using std::string;
string MainWindow::getstr(const string &uri)
{
Cleanup cleanup;
ostringstream stream;
stream << Url(uri);
return stream.str();
}
但是,當我編譯代碼時,我得到大約20種不同的鏈接器錯誤,它們表明對curlpp
所有引用都是未定義的。 果然,當我進入包含目錄時,我只看到頭文件。
如果它的事項,我在Ubuntu 14.04和我裝libcurlpp
通過運行apt-get install libcurlpp-dev
。 我.cpp
要做什么以將編譯器指向.cpp
/ .o
文件,並擺脫未定義的引用?
免責聲明:是的,我確實讀過這篇文章 ,不,它與我的問題無關,因為它沒有專門討論與第三方庫的處理以及在系統上安裝實現文件( .cpp
和.o
)的位置。 。
如果沒有任何libcurlpp.a
或libcurlpp.so
,那么我建議您再次下載libcurlpp-dev ,程序包中有庫文件。
您必須將庫添加到鏈接器。 如果您使用的是Qt Creator,請編寫
LIBS += -lcurlpp
在.pro
文件中。
編輯 :您必須以這種方式添加所有庫。 就像評論所說,對於cURL ++(這是cURL C庫的包裝器),您還需要-lcurl
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.