如何在Mac OS X上使用clang获取新的C++线程支持?

9

我只想在Mac OSX 10.8上使用Apple clang版本4.1 (tags/Apple/clang-421.11.66)编译以下程序:

#include <thread>

using namespace std;

int main() {

    cout << "Hello world";

}

但我得到的是:
../src/FirstCAgain.cpp:13:10: fatal error: 'thread' file not found
#include <thread>

我启用了C++11支持,并使用Eclipse C/C++开发工具。

问题是:如何在Mac OS X上获取新的C++线程支持?


这是许多问题的重复,苹果只提供一个古老的GCC,因此其库不支持C++11,您需要使用替代的libc++库来使用C++11功能,请参见https://dev59.com/JWzXa4cB1Zd3GeqPXcn0#14150421,或安装更新的GCC。 - Jonathan Wakely
1个回答

12

你需要使用新的libc++,它不是默认库:

clang++ -stdlib=libc++ threadtest.cpp 

(当然,你还需要包含iostream,但我假设这不是你困惑的原因。)


嗨,谢谢,看起来可以工作了。现在链接时我得到了“std::__1::locale::use_facet(std::__1::locale::id&) const”,但这似乎是我的CDT设置的问题。 - rogergl
2
FYI,在这将近3年后值得注意的是,它现在是默认设置。 - johnbakers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接