我正在尝试在Xcode中使用Boost Filesystem库。
我使用brew install boost
安装了Boost,并且成功了。
原来Boost没有链接,所以我运行brew link --overwrite Boost
,这有效。
我在项目中尝试#include <boost/filesystem.hpp>
,但到目前为止还没有成功。
起初Xcode无法找到<boost/filesystem.hpp>
,所以我添加了
/usr/local/lib
/usr/local/include
到Target和Project的Header搜索路径。
修复了原始问题,但Xcode无法找到boost_system。 以下是成绩单:
Undefined symbols for architecture x86_64:
"boost::system::system_category()", referenced from:
___cxx_global_var_init2 in main.o
"boost::system::generic_category()", referenced from:
___cxx_global_var_init in main.o
___cxx_global_var_init1 in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我将-lboost_system链接器标志添加到我的项目中,现在我收到此错误:
ld: library not found for -lboost_system
clang: error: linker command failed with exit code 1 (use -v to see invocation)
它绝对是正确的链接器标志,所以也许Boost安装不正确。 如果我找到解决方案,我会更新这个问题,但我很感激帮助解决这个问题。
答案 0 :(得分:3)
在xcode 6中遇到同样的问题。用户标题搜索路径和库搜索没问题。仍显示链接错误。我通过在项目目标设置
中的其他链接器标志中添加-lboost_system-mt
来解决问题
答案 1 :(得分:2)
您的标题搜索路径中只需要/usr/local/include
,并且库搜索路径中需要/usr/local/lib
才能让链接器找到图书馆。