编译此文件时
#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 ++版本?
答案 0 :(得分:2)
首先确定libc ++的位置:它将位于Xcode应用程序本身内。如果您无法找到它,请使用Xcode预处理HelloWorld,并检查它是否为std标头的路径。
然后在命令行上使用include
指向-I
目录。您还可以使用-nostdinc++
来保证不会查找其他标准标头:
$ /my/clang -std=gnu++11 -stdlib=libc++ t.cpp -nostdinc++ -I<path-to-libcxx>/include