1

我正在尝试使用Poco C++ 库在 Mac OS X 10.8.2 上的 C++ 中执行简单的 http 请求。我安装了 Poco,复制粘贴了本教程中的 http_request.cc 代码,使用“g++ -o http_get http_get.cc -lPocoNet”运行它,但得到了:

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

已经为此苦苦挣扎了几个小时。知道如何解决这个问题吗?提前致谢!

4

2 回答 2

3

,类在库中Poco::URI,因此您还需要链接到该库。Poco::StreamCopierPocoFoundation

g++ -o http_get http_get.cc -lPocoNet -lPocoFoundation
于 2012-10-16T23:07:57.463 回答
0

您似乎没有指定库的包含路径和编译源代码时要使用的库。您需要向 g++ 提供 -I 和 -L 指令以分别指定库和库本身的包含路径。

于 2012-10-16T22:58:29.347 回答