Создание для MacOSX, но соединение с dylib, созданное для файла iOS Simulator

Я только что обновился до Xcode 5 beta с инструментами командной строки 15 апреля 2013 года и получил следующее предупреждение при запуске сборки cmake во время стандартной попытки CMakeTestCCompiler.cmake скомпилировать простую тестовую программу:

cmake -version cmake version 2.8.11.2 ld: building for MacOSX, but linking against dylib built for iOS Simulator file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/lib/libSystem.dylib' for architecture i386 lipo -info /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/lib/libSystem.dylib Non-fat file: libSystem.dylib is architecture: i386 

Шаг компиляции:

 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -o /Users/temp/testCCompiler.co -c /Users/temp/testCCompiler.c lipo -info /Users/temp/testCCompiler.co Non-fat file: testCCompiler.co is architecture: i386 

Шаг ссылки:

 /usr/local/bin/cmake -E cmake_link_script /Users/temp/link.txt --verbose=1 

где link.txt содержит:

 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -Wl,-headerpad_max_install_names /Users/temp/testCCompiler.co -o testCCompiler 

Похоже, что и testCCompiler.co, и libSystem.dylib – i386, i386 указан в link.txt, а i386 – правильная архитектура для симулятора, поэтому я не уверен, почему он думает, что он создает для MacOSX. Возможно, вариант командной строки неверен :(.

спасибо за любую помощь!

Проблема заключалась в том, что Xcode 5 заменяет gcc на clang и добавляет параметр «-triple», который указывает OSX в качестве цели. Если вы передаете «-miphoneos-version-min = 7.0» в обеих командах gcc, это работает. Вы можете увидеть командную строку clang, если вы передадите «–verbose» в gcc. Также необходимо добавить к PATH для Xcode 5, чтобы cmake мог найти необходимые инструменты: export PATH = / Applications / Xcode5-DP6.app / Contents / Developer / Toolchains / XcodeDefault.xct oolchain / usr / bin: / Приложения /Xcode5-DP6.app/Contents/Developer/usr/bin:$PATH. Ничего из этого не является официальным .. но работает для меня до сих пор.

запустите этот комментарий на вашем client.app:

 export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xct‌oolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH