簡體   English   中英

第三方庫會導致“未定義引用”編譯器錯誤?

[英]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.alibcurlpp.so ,那么我建議您再次下載libcurlpp-dev ,程序包中有庫文件。

您必須將庫添加到鏈接器。 如果您使用的是Qt Creator,請編寫

LIBS += -lcurlpp

.pro文件中。

編輯 :您必須以這種方式添加所有庫。 就像評論所說,對於cURL ++(這是cURL C庫的包裝器),您還需要-lcurl

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM