2014-02-24 2 views
0

Mac 10.9.1에서 프로그램을 컴파일하려고하는데 문제가 있습니다. dylib를 작성하기 위해 -lpthread 플래그와 함께 gcc 명령을 실행하면 다음 오류로 인해 링크가 실패합니다.ld : -lpthread에 라이브러리가 없습니다.

ld : library not found for -lpthread. 

libpthread.dylib이는/usr/lib 디렉토리/

수있는 사람의 도움에 위치하고 있습니다.

감사

+0

일반적으로 GCC -lX 플래그는 "libX"라는 공유 라이브러리와 연결을 시도합니다. 귀하의 경우에는 찾을 수없는 "libpthread"를 연결하려고합니다. 이 플래그로 위치를 지정하십시오 : "-L/folder/containing/libpthread". –

+2

'gcc -pthread ...'('l'없이)를 시도해보십시오. 작동하는지 확인하십시오. –

+0

답장에서 언급 한 솔루션을 시도했지만 아무도 문제를 완전히 해결하지 못하는 것 같습니다. 참고 : 사용중인 컴파일러는 g ++ (ver 4.2.1)입니다. -pthread 대신 -pthread를 사용하면 lpthread에 대한 오류가 발생하지만 이제 다른 연결 오류가 발생합니다. ld : libstdC++에 라이브러리가 없습니다. 링크 중 -L/usr/lib를 사용하면 프로젝트에서 많은 파일을 변경해야한다는 것을 의미합니다. 10.8.6 시스템에서이 문제가 발생하지 않았 음을 말씀드립니다. 이 문제는 10.9.1의 새로운 설치에만 있습니다. 도와주세요. – Tony

답변

0

대부분의 맥 /usr/lib있는 libpthread.dylib 파일을 포함하는 디렉토리를 지정해야처럼 소리. ld에 대한 -L 인수를 사용하여 수행하십시오 (예 : ld -L/usr/lib -lpthread).

편집 : gcc-L 인수를 허용합니다.

0

-lpthread을 사용하는 것은 기술적으로 올바른 방법이 아닙니다. GCC 명령 행에서 -pthread을 사용하면 더 나은 결과를 얻을 수 있습니다. 컴파일과 링크에 사용하십시오. 중요한 전처리 자 정의 인 이 필요한 라이브러리를 연결합니다.

관련 문제