Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ libc++;在OSX上?_C++_Xcode_Macos_C++11 - Fatal编程技术网

C++ libc++;在OSX上?

C++ libc++;在OSX上?,c++,xcode,macos,c++11,C++,Xcode,Macos,C++11,我已经构建了自己的libc++并且通常将其包含在-I/path/to/lib/include-L/path/to/lib/lib中。但是现在我必须和其他人共享一个项目,我想给他们一个生成文件™ 这“很管用” 考虑以下计划: #include <algorithm> #include <iostream> #include <vector> using namespace std; int main(void) { uint32_t nums[100];

我已经构建了自己的libc++并且通常将其包含在
-I/path/to/lib/include-L/path/to/lib/lib
中。但是现在我必须和其他人共享一个项目,我想给他们一个生成文件™ 这“很管用”

考虑以下计划:

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main(void)
{
    uint32_t nums[100];

    for (size_t i = 0; i < 10; ++i)
    {
        nums[i] = 666;
    }

    vector<int> hello{1, 2, 3, 4, 5, 6, 7, 8};
    for_each(hello.begin(), hello.end(), [](int tal)
    {
        cout << tal << endl;
    });
}
<> >,我需要一个C++ 11的C++库。
clang++ -std=c++11 -stdlib=libc++ -o test test.cc 
test.cc:1:10: fatal error: 'algorithm' file not found
#include <algorithm>
clang++-std=c++11-stdlib=libc++-o test.cc
test.cc:1:10:致命错误:未找到“算法”文件
#包括
我的解决方案是使用
-I
-L
指向我手工编译的libc++

假设我将与之共享此文件的人没有此文件,但至少有XCode。我能做些什么来复制上面的代码?当然OSX必须附带C++11功能

[编辑]


事实证明,自从我用homwbrew的xcode安装llvm后,当我执行
哪一个叮当声时,就会出现叮当声。我认为自制的叮当声不会被符号链接到
/usr/local/bin
,但显然是这样。所以我想我学到的教训(就像以前很多次一样)是永远不要假设,而是RTFM

最近的Xcode版本将clang和libc++头放在Xcode.app中。控件单击它并选择“显示包内容”以导航到此目录

确保您的命令行铃声与Xcode.app中的命令行铃声相同:

$ which clang++
对我来说:

/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/clang++ 
以及:

OS X El Capitan 10.11.6(15G1004)


取决于OSX的版本,包括的libstdc++是否支持一些c++11。我不认为到目前为止所有的功能都可用,即使在最新的版本中也是如此。当命令行工具可用时,这段代码在Mountain Lion(clang-425.0.27)上的最新XCode(4.6.1)上编译得很干净installed@Petesh奇怪的是,我有Mountain Lion,2天前的新安装,以及安装了命令行工具的最新XCode。。。。你通过什么样的标志来编译它?@Petesh发现这并不奇怪。当我认为我在使用XCode clang时,我正在使用自制的clang。应该按照已接受的解决方案的建议执行
哪个叮当声
。现在,使用XCode-clang,我只需要指定
-std=c++11
。这就成功了!我应该知道该怎么做。。。结果发现是我自制的叮当声出现了。正在使用Xcode.app中的叮当声。。。解决了。谢谢
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/clang++ 
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/lib/c++/v1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/