【发布时间】:2013-09-13 18:22:57
【问题描述】:
编译这个文件时
#include <vector>
int main(int argc, char* argv[])
{
std::vector<int> IntVector;
}
使用带有 Xcode 的 clang 版本,我可以告诉 clang 像这样使用 llvm 的 libc++:
$ clang -std=c++11 -stdlib=libc++ t.cpp -lc++ -o t
但是,当使用自建版本的clang时,这个命令不起作用,因为clang找不到libc++:
$ /my/clang -std=gnu++11 -stdlib=libc++ t.cpp -lc++ -o t
t.cpp:1:10: fatal error: 'vector' file not found
#include <vector>
^
1 error generated.
我知道我可以从源代码下载、构建和安装 libc++;但是,我更愿意使用 Xcode 附带的版本。
在使用我自己的 clang 版本时,如何使用 Xcode 附带的 libc++ 版本?
【问题讨论】:
-
首先,您可能想改用
clang++。其次,你在构建 clang 的时候,有没有告诉它库头在哪里? -
另外还要指定开发的sysroot:
clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk等 -
这对找到 libc++ 有什么帮助?
标签: c++ xcode c++11 clang libc++