2014-12-02 1 views
0

비동기 Hello World 스타일 프로그램을 컴파일 할 수 있었지만 Yosemite/Xcode 6으로 업그레이드 한 후 링크 오류가 발생합니다. 디스패치 라이브러리에 성공적으로 연결하기 위해 make 지침을 어떻게 조정할 수 있습니까?디스패치 링크 오류

코드 :

https://github.com/mcandre/parhello/tree/master/objc

추적 :

$ make 
mkdir -p bin/ 
clang -Wall -Wextra -Wmost -Weverything -framework Foundation -lobjc -fblocks -ldispatch -lBlocksRuntime -o bin/parhello ParHello.m 
ld: library not found for -ldispatch 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [bin/parhello] Error 1 

시스템 : 메이크가 리눅스에 대한 의미하기 때문에 당신은 그 오류를보고있는 이유는

$ specs clang xcode os 
Specs: 

specs 0.12 
https://github.com/mcandre/specs#readme 

clang --version 
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin14.0.0 
Thread model: posix 

xcodebuild -version 
Xcode 6.1 
Build version 6A1052d 

system_profiler SPSoftwareDataType | grep 'System Version' 
System Version: OS X 10.10.1 (14B25) 

답변

1

시스템이고 MacOS에서 구축하고 있습니다.

나는에서 Makefile의 4 행을 변경하는 경우 :

LINK_OPTIONS=-ldispatch -lBlocksRuntime 

LINK_OPTIONS= 

대상 컴파일

과 같습니다 출력을 실행 : I하면서,

[parhello/objc]:;make 
mkdir -p bin/ 
clang -Wall -Wextra -Wmost -Weverything -framework Foundation -lobjc -fblocks -o bin/parhello ParHello.m 
bin/parhello 
2014-12-02 13:05:10.144 parhello[77009:2132933] e 
2014-12-02 13:05:10.144 parhello[77009:2132934] l 
2014-12-02 13:05:10.146 parhello[77009:2132944] ! 
2014-12-02 13:05:10.144 parhello[77009:2132937] 
2014-12-02 13:05:10.144 parhello[77009:2132936] o 
2014-12-02 13:05:10.144 parhello[77009:2132932] H 
2014-12-02 13:05:10.145 parhello[77009:2132940] r 
2014-12-02 13:05:10.144 parhello[77009:2132935] l 
2014-12-02 13:05:10.145 parhello[77009:2132942] l 
2014-12-02 13:05:10.144 parhello[77009:2132939] o 
2014-12-02 13:05:10.145 parhello[77009:2132943] d 
2014-12-02 13:05:10.144 parhello[77009:2132938] W 
+0

사실 리눅스 포트에서 일하고 있었는데, 나는 거기에서 실수를했다. 감사! – mcandre