6

在 OS X 中使用带有 clang 的 pthread 库的编译器/链接器要求是什么?

使用 GCC,我知道使用 -pthread 设置适当的编译器/链接器选项,但我不确定 OS X 是否带有 clang。

air:~ jose$ clang++ -c test.cpp -pthread
air:~ jose$ clang++ -o test -pthread test.o 
clang: warning: argument unused during compilation: '-pthread'

air:~ jose$ g++ -c test.cpp -pthread
air:~ jose$ g++ -o test -pthread test.o 
4

1 回答 1

13

clang-pthread在编译时需要,但在链接时不需要。这很烦人,但它是观察到的行为:

$ clang -c x.cpp
$ clang -pthread -c x.cpp
$ clang -o x x.o
$ clang -pthread -o x x.o
clang: warning: argument unused during compilation: '-pthread'
$ 

$ clang --version
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
$
于 2013-10-15T13:35:41.673 回答