2013-07-24 5 views
5

무엇 OS에 대한 확신이 컴파일러/링커OS X의 그 소리는 -pthread

내가 적절한 컴파일러/링커 옵션을 설정 -pthread 사용하는 것을 알고 GCC와 OS X의에서 그 소리와는 pthread 라이브러리를 사용하기위한 요구 사항,하지만 난 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 
+0

정확하게 동일해야합니다 - 저는 꽤 확신합니다. –

+0

http://stackoverflow.com/questions/2391194/what-is-gs-pthread-equiv-in-clang – DrYap

+0

방금 ​​추가 한 샘플을 보면 실행 파일을 연결할 때 clang이 -pthread를 필요로하지 않는 것으로 보입니다. –

답변

12

clang은 컴파일 할 때 -pthread이 필요하지만 링크 할 때는 필요하지 않습니다. 이는 귀찮은 작업이지만, 행동 관찰 : 나는 너무 그 소리에 -lpthread을 추가 할 생각

$ 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 
$ 
+0

컴파일과 링크를 동시에 수행하면'-pthread'의 유무에 관계없이 경고가 발생합니까? ('clang -o x x.cpp', 제 생각에는) 당신이 당신의 대답에 시도하지 않은 한가지 조합입니다. (Mac에 쉽게 액세스 할 수는 없지만 하나를 개발하려고합니다 ...) –

+0

clang -pthread -o x x.cpp는 경고를 발행하지 않습니다. – bjori

+0

더 이상 ... – vy32

0

합니다.

+0

이 키의 의미와 문제 해결 방법을 설명하면 더 나을 것입니다. –