최신 Xcode cmd line 도구를 사용하여 OSX 10.10에서 일부 코드를 컴파일하려고합니다. 컴파일은 작동하지만 링크는 악몽입니다. 첫째, 심볼이 다중 정의되는 오류가 발생합니다. 이 오류는 정확하지만 정의는 동일하며 제어하지 않는 타사 라이브러리에서도 마찬가지입니다. 나는이 문제를 링커가 무시하도록하는 방법을 알 수 없다. 한 가지 중요한 사실은 동일한 코드가 clang과 gcc 모두 내 우분투 상자에서 완벽하게 컴파일, 링크 및 실행된다는 것입니다. 이 링커 문제는 OS X에서만 발생합니다. 라이브러리는 정적입니다.OS X 10.10과의 링크 문제
내가 만나는 두 번째 문제는 낯선 사람입니다. 프로그램을 컴파일하고 연결할 수 있도록 필요한 (일부) 기능을 제거하면 "dyld : Symbol not found : __ZNSt12future_errorD1Ev"라는 재미있는 메시지가 나타납니다. 도대체 어떻게 그걸 고칠 수 있니? 구글은 그 전선에 도움이되지 못했다.
마지막으로, C++ 라이브러리에 연결하는 내 문제를 해결합니다. 요세미티로 업그레이드하여 fink를 재구성 한 결과, 내 오래된 코드가 더 이상 "x86_64 아키텍처의 정의되지 않은 기호 :"와 같은 방식으로 연결되지 않음을 발견했습니다. 그건 그렇고, 더 이상 OSX의 ld에서 brute-force --start-group/end-group이 없어진 것 같습니다. –