【发布时间】:2016-08-26 13:01:12
【问题描述】:
我有一个全新安装的 OS X 10.11.4,我立即安装了 Xcode 工具链,然后是 Homebrew,然后是 Boost 1.60。为了测试一切顺利,我在桌面上编写了以下代码。
#include <iostream>
#include <boost/filesystem.hpp>
int main() {
boost::filesystem::path new_directory("hello");
boost::filesystem::create_directory(new_directory);
}
然后我尝试编译它,就像我通常使用以下命令所做的那样。
$ clang++ test.cpp -o test -lboost_system -lboost_filesystem
我收到以下错误。
test.cpp:3:10: fatal error: 'boost/filesystem.hpp' file not found
#include <boost/filesystem.hpp>
这就是我过去一直编译链接 Boost 的项目的方式。我假设我可能忘记了允许 clang 搜索特定路径以动态链接库的步骤。为了使这个编译命令起作用,我应该改变什么?
【问题讨论】:
-
检查系统包含路径在xcode项目中包含路径/usr/local/include
-
是的,我知道我之前回答过这个问题:stackoverflow.com/questions/27470462/…
-
我没有使用 Xcode(而且我几乎从不使用);我正在从终端编译单个文件。如果我在 Xcode 中执行此操作,它会永久更改每个 clang 编译的设置吗?
-
啊,那你需要添加选项 -I
/include -L /path/to/boost/libs -
但是我应该怎么做才能让 -this- 编译命令正常工作?我知道这是可能的,这是我过去一直设置的方式。我只是忘记了如何。
标签: c++ macos boost clang homebrew