2017-04-21 147 views
1

我想添加curlpp到我的C++項目。目前,我有一個的main.cpp文件,它看起來像這樣:如何添加庫curlpp到C++項目

#include <iostream> 
#include <curlpp/cURLpp.hpp> 
#include <curlpp/Easy.hpp> 
#include <curlpp/Options.hpp> 

int main() { 
    return 0; 
} 

予編譯使用: 「克++ -std = C++ 14 -I/USR/nguyenthesang /桌面/ myprogram/curlpp-0.8 .1/include main.cpp「併成功編譯。

然後,添加在主函數的實現(下面從curlpp的回購複製):

#include <curlpp/cURLpp.hpp> 
#include <curlpp/Easy.hpp> 
#include <curlpp/Options.hpp> 


using namespace curlpp::options; 

int main(int, char **) 
{ 
    try 
    { 
    // That's all that is needed to do cleanup of used resources (RAII 
    style). 
    curlpp::Cleanup myCleanup; 

    // Our request to be sent. 
    curlpp::Easy myRequest; 

    // Set the URL. 
    myRequest.setOpt<Url>("http://example.com"); 

    // Send request and get a result. 
    // By default the result goes to standard output. 
    myRequest.perform(); 
} 

catch(curlpp::RuntimeError & e) 
{ 
    std::cout << e.what() << std::endl; 
} 

catch(curlpp::LogicError & e) 
{ 
    std::cout << e.what() << std::endl; 
} 

return 0; 
} 

當我編譯通過使用「克++ -std = C++ 14 -I/USR/nguyenthesang/Desktop/myprogram/curlpp-0.8.1/include main.cpp「,存在編譯錯誤,說」ld:symbol(s)not found for architecture x86_64 clang:error:linker command failed with exit代碼1(使用-v來查看調用)「。

這些錯誤可能來自於我只將頭文件鏈接到程序而不是庫本身的事實。我谷歌周圍找到鏈接庫的方式(例如使用-L選項),但它沒有工作。我需要這個問題的幫助。

我也想問一下,是否有一種將每個庫添加到C++項目中的通用方法,例如iOS中的Cocoapods?

我感謝您的幫助。

回答

1

您應該下載完整的源代碼包(downloads部分的.tar.gz)以獲取標題,代碼,示例和文檔。

您需要將包含文件所在機器的基本目錄(打開歸檔文件包之後)添加到項目的包含目錄列表中。

+0

您能否詳細解釋如何將libs的路徑添加到項目的目錄中?我 –

+0

你有沒有添加我告訴你下載的目錄 – Billa

+0

我下載了你所說的軟件包,並做了同樣的事情。發生同樣的問題。 –