сбой clang с кодом выхода 1 при сборке архива, работает при сборке отладки - PullRequest
1 голос
/ 04 декабря 2011

В моих настройках сборки отображаются мой профиль обеспечения разработчика для отладки и мой профиль обеспечения распространения для схем выпуска и распространения. Я подтвердил, что мой профиль обеспечения распространения обновлен и не истекает до августа 2012 года, так что это не проблема.

Ld /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/IntermediateBuildFilesPath/MyAppName.build/Release-iphoneos/MyAppName.build/Objects-normal/armv6/MyAppName normal armv6
    cd /Users/kenny/MyLib2/svn-MyAppName-iOS/trunk/MyAppName
    setenv IPHONEOS_DEPLOYMENT_TARGET 3.2
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L/Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/BuildProductsPath/Release-iphoneos -L/Users/kenny/MyLib2/svn-MyAppName-iOS/trunk/MyAppName -L/Users/kenny/MyLib2/svn-MyAppName-iOS/trunk/MyAppName/../../../svn-Flurry/trunk/FlurryLib -F/Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/BuildProductsPath/Release-iphoneos -filelist /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/IntermediateBuildFilesPath/MyAppName.build/Release-iphoneos/MyAppName.build/Objects-normal/armv6/MyAppName.LinkFileList -dead_strip -ObjC -all_load -miphoneos-version-min=3.2 -weak_framework Twitter /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/BuildProductsPath/Release-iphoneos/libfacebook_ios_sdk.a -lMyLib_Networking -lMyLib_AdWhirl -lMyLib_ApplicationCore -lMyLib_Audio -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreData -framework AudioToolbox -framework SystemConfiguration -weak_framework iAd -framework QuartzCore -framework CoreLocation -framework AVFoundation -framework MapKit -lsqlite3 -lz -framework MediaPlayer -framework MessageUI -lFlurry -o /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/IntermediateBuildFilesPath/MyAppName.build/Release-iphoneos/MyAppName.build/Objects-normal/armv6/MyAppName

Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang failed with exit code 1

Оно не выдает сообщение об ошибке, оно просто выдает код выхода.

Я искал на форумах Apple и в Переполнении стека, но либо в других сообщениях есть какая-то реальная ошибка компоновщика, например, повторяющиеся символы, либо в них нет ошибки, как у меня, но у них нет ответа.

Я использую Xcode 4.2.

Помощь

Ответы [ 3 ]

3 голосов
/ 05 декабря 2011

Похоже, проблема связана с настройками архитектуры в моих подпроектах.Xcode 4.2 меняет архитектуру по умолчанию на armv7 вместо armv6 и armv7.Я обновил свой основной проект до armv6 и armv7, но подпроекты все еще использовали только armv7.После того как я обновил все подпроекты, он начал правильно связываться.

1 голос
/ 05 декабря 2011

Эта записка об ошибке ничего не говорит, она слишком общая. Попробуйте найти что-то более , например, в выводе консоли Mac OS X.

Вот некоторые из моих опытов с «кодом выхода 1»: создайте новую конфигурацию и убедитесь, что данные сертификата сертификации соответствуют системным значениям по умолчанию .

0 голосов
/ 05 декабря 2011

Если вы используете xcodebuild для компиляции проекта, чтобы начать отладку, вы можете запустить команду:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L/Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/BuildProductsPath/Release-iphoneos -L/Users/kenny/MyLib2/svn-MyAppName-iOS/trunk/MyAppName -L/Users/kenny/MyLib2/svn-MyAppName-iOS/trunk/MyAppName/../../../svn-Flurry/trunk/FlurryLib -F/Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/BuildProductsPath/Release-iphoneos -filelist /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/IntermediateBuildFilesPath/MyAppName.build/Release-iphoneos/MyAppName.build/Objects-normal/armv6/MyAppName.LinkFileList -dead_strip -ObjC -all_load -miphoneos-version-min=3.2 -weak_framework Twitter /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/BuildProductsPath/Release-iphoneos/libfacebook_ios_sdk.a -lMyLib_Networking -lMyLib_AdWhirl -lMyLib_ApplicationCore -lMyLib_Audio -framework Foundation -framework UIKit -framework CoreGraphics -framework CoreData -framework AudioToolbox -framework SystemConfiguration -weak_framework iAd -framework QuartzCore -framework CoreLocation -framework AVFoundation -framework MapKit -lsqlite3 -lz -framework MediaPlayer -framework MessageUI -lFlurry -o /Users/kenny/Library/Developer/Xcode/DerivedData/MyAppName-fxknidnbrepotqdvhgjnepxdhonz/ArchiveIntermediates/BalanceSheet/IntermediateBuildFilesPath/MyAppName.build/Release-iphoneos/MyAppName.build/Objects-normal/armv6/MyAppName

отдельно и добавить флаг -v, чтобы clang распечатывал, какие команды он выполняет внутри.В этом случае он, вероятно, запускает /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ld

Вы также можете снова запустить последовательность отладки с помощью xcodebuild и посмотреть, что она делает по-другому по сравнению с Архивом.

Надеюсь, что это даст некоторые подсказки, как отлаживать процесс сборки.

...