6

步骤:
1. sudo port boost
boost文件安装在/opt/local/boost,库文件在/opt/local/lib

2. 使用XCode创建c++工程

#include <iostream>
#include <boost/asio.hpp>
int main () {
    return 0;
}


3.设置XCode以 在Debug和Release
中的“Build Settings”->“HEADER_SEARCH_PATHS”中找到boost添加路径/opt/local/include 4.“Build Settings”->“LIBRARY_SEARCH_PATHS”->添加/opt/local /lib 用于调试和发布。 5. 编译程序失败。 错误信息,





Undefined symbols for architecture x86_64:
  "boost::system::generic_category()", referenced from:
  ___cxx_global_var_init1 in main.o
  ___cxx_global_var_init2 in main.o
  "boost::system::system_category()", referenced from:
  ___cxx_global_var_init3 in main.o
  boost::asio::error::get_system_category() in main.o
  "boost::asio::error::get_netdb_category()", referenced from:
  ___cxx_global_var_init5 in main.o <br>
  "boost::asio::error::get_addrinfo_category()", referenced from:
  ___cxx_global_var_init6 in main.o <br>
  "boost::asio::error::get_misc_category()", referenced from:
  ___cxx_global_var_init7 in main.o <br>
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我在程序上错了吗?

4

2 回答 2

8

您需要链接Boost.System,它应该在/opt/local/lib/libboost_system(带有一些后缀,这取决于您如何构建 boost)

将它添加到您的 Xcode 项目中。

于 2012-06-14T16:35:05.630 回答
4
  1. 选择你的“目标”
  2. 在“构建阶段”选项卡下的“将二进制文件与库链接”部分中,添加 boost 库。
  3. 如果通过 MacPort 安装,boost 将在/opt/local/lib
    如果通过 brew 安装,boost 将在/usr/local/Cellar/boost
    如果自己构建,它将在/usr/local/lib by defaultyourBoostLib/stage/lib
于 2013-07-15T04:46:45.943 回答