2012-10-16 77 views
1

我試圖使用Poco C++庫在Mac OS X 10.8.2上使用C++進行簡單的http請求。我安裝波科,複製粘貼的http_request.cc代碼this tutorial,以「G ++ -o HTTP_GET http_get.cc -lPocoNet」跑了,但得到:OSX 10.8.2上的Poco C++庫:架構x86_64上的未定義符號

Undefined symbols for architecture x86_64: 
    "Poco::StreamCopier::copyStream(std::basic_istream<char, std::char_traits<char> >&, std::basic_ostream<char, std::char_traits<char> >&, unsigned long)", referenced from: 
     _main in ccKuZb1g.o 
    "Poco::URI::URI(char const*)", referenced from: 
     _main in ccKuZb1g.o 
    "Poco::URI::~URI()", referenced from: 
     _main in ccKuZb1g.o 
    "Poco::URI::getPathAndQuery() const", referenced from: 
     _main in ccKuZb1g.o 
    "Poco::URI::getPort() const", referenced from: 
     _main in ccKuZb1g.o 
    "Poco::Exception::displayText() const", referenced from: 
     _main in ccKuZb1g.o 
    "typeinfo for Poco::Exception", referenced from: 
     GCC_except_table1 in ccKuZb1g.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 

已與此掙扎幾個小時。任何想法如何解決這個問題?提前致謝!

+0

這看起來好像你需要包含一些庫,例如'-lPocoNet'(我猜猜庫的名字,儘管如此)。 –

回答

3

Poco::URI,Poco::StreamCopier類位於PocoFoundation庫中,因此您還需要鏈接到該庫。

g++ -o http_get http_get.cc -lPocoNet -lPocoFoundation 
+0

非常感謝!這工作。 – Arman

0

在編譯源文件時,您似乎沒有指定要使用的庫和庫的包含路徑。 您需要向g ++提供-I和-L指令以指定庫和庫自身的包含路徑。

相關問題