XCode5模拟器::-Xlinker中的未知选项字符"X"

dac*_*ter 8 iphone xcode objective-c ios xcode5

我目前被链接器错误阻止,该错误只发生在XCode5上(XCode4编译正常)并且仅在模拟器上发生(正常设备编译正常).

当我尝试编译时,我得到一个"Apple Mach-O Librarian Error",它给出了以下文本墙:

Libtool build/DevOnly-iphonesimulator/libCozi\Common\Code.a普通i386 cd/Users/jr/ios/app/iCozi setenv IPHONEOS_DEPLOYMENT_TARGET 4.3 setenv PATH"/Applications/XCode5/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator. platform/Developer/usr/bin:/Applications/XCode5/Xcode.app/Contents/Developer/usr/bin:/ usr/bin:/ bin:/ usr/sbin:/ sbin"/Applications/XCode5/Xcode.app/目录/开发人员/工具链/ XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only i386 -syslibroot /Applications/XCode5/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -L/Users/jr/ios/app/iCozi/build/DevOnly-iphonesimulator -L/Users/jr/ios/app/iCozi /../../ ext/aiMatch/SASIA_iOS_SDK-iphonesimulator -L/Users/jr /ios/app/iCozi/../../ext/GoogleAdsSDK-iphone-v3.1/Library -L/Users/jr/ios/app/iCozi /../../ ext/Google\Analytics\SDK/Library -L/Users/jr/ios/app/iCozi /../../ ext/AdMarvel_iOS_SDK_2_9_1/AdMarvelSDK -L/Users/jr/ios/app/iCozi /../../ ext/libComScore-1.1107.12 -L/Users/jr/ios/app/iCozi /../../ ext/TestFlightSDK -L/Users/jr/ios/app/iCozi /../../ ext/mBlox-SDK/Debug-universal -L/Users/jr/ios/app/iCozi /../../ ext/mBlox-SDK/Release-universal -L/Users/jr/ios/app/iCozi /../../ ext/FacebookSDK/FacebookSDK.framework/Versions/A -L/Users/jr/ios/app/iCozi /../../ ext/GoogleConversionTrackingSDK -L/Users/jr/ios/app/iCozi /../../ ext/TapjoyAdvertiserSDK/TapjoyAdvertiserLibrary -L/Users/jr/ios/app/iCozi/.. /../ext/MobileAppTracker.framework/Versions/A -filelist /Users/jr/ios/app/iCozi/build/iCozi.build/DevOnly-iphonesimulator/Cozi\Common\Code.build/Objects-normal/i386/ Cozi\Common\Code.LinkFileList -all_load -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/jr/ios/app/iCozi/build/iCozi.build/DevOnly-iphonesimulator/Cozi\Common\Code.build/Cozi\Common\Code.xcent -framework MobileAppTracker /Applications/XCode5/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/lib/libz.dylib -framework Foundation -framework UIKit -framework CoreGraphics -framework QuartzCore -framework Security -framework MobileCoreServices -framework CFNetwork -framework SystemConfiguration -weak_framework MessageUI -framework QuartzCore /Users/jr/ios/ext/three20/Build/Products/Release-iphonesimulator/libThree20.a/ Users/jr/ios/EXT/three20 /编译/产品/释放-iphonesimulator/libThree20UI.a /Users/jr/ios/ext/three20/Build/Products/Release-iphonesimulator/libThree20UINavigator.a /Users/jr/ios/ext/three20/Build/Products/Release-iphonesimulator/libThree20UICommon.a/Users/jr/ios/ext/three20/Build/Products/Release-iphonesimulator/libThree20Style.a /Users/jr/ios/ext/three20/Build/Products/Release-iphonesimulator/libThree20Network.a/Users/jr/ios/ext/three20/Build/Products/Release-iphonesimulator/libThree20Core.a -framework CoreLocation -weak_framework MediaPlayer -weak_framework iAd -framework AVFoundation -framework AudioToolbox -lGoogleAnalytics /Applications/XCode5/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs /iPhoneSimulator7.0.sdk/usr/lib/libsqlite3.0.dylib -weak_framework EventKit -weak_framework EventKitUI -lTestFlight -framework comScore -framework MDS-SDK-PhoneGap -lMDSCore -framework FacebookSDK -lGoogleConversionTracking /Users/jr/ios/ext/TapjoyAdvertiserSDK/TapjoyAdvertiserLibrary/TapjoyAdvertiserLibrary.a/ Users/jr/ios/ext /FacebookSDK/FacebookSDK.framework/Versions/A/FacebookSDK /Users/jr/ios/ext/MobileAppTracker.framework/Versions/A/MobileAppTracker -o/Users/jr/ios/app/iCozi/build/DevOnly-iphonesimulator/libCozi\Common\Code.aframework/Versions/A/MobileAppTracker -o/Users/jr/ios/app/iCozi/build/DevOnly-iphonesimulator/libCozi\Common\Code.aframework/Versions/A/MobileAppTracker -o/Users/jr/ios/app/iCozi/build/DevOnly-iphonesimulator/libCozi\Common\Code.a

/Applications/XCode5/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool:未知选项字符`X': - Xlinker用法:/Applications/XCode5/Xcode.app/Contents/Developer/工具链/ XcodeDefault.xctoolchain/usr/bin/libtool -static [ - ] file [...] [-filelist listfile [,dirname]] [-arch_only arch] [-sacLT]用法:/Applications/XCode5/Xcode.app /Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -dynamic [ - ] file [...] [-filelist listfile [,dirname]] [-arch_only arch] [-o output] [-install_name name ] [-compatibility_version#] [-current_version#] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table] [-seg_addr_table_filename] [-all_load] [-noall_load] Command/Applications/XCode5 /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool失败,退出代码为1

问题的根源似乎是"-Xlinker"中的"未知选项字符'X',但Google对此错误没有太多帮助:https://www.google.com/search? q =%22% 60X%27 +在%3A + Xlinker%22

"XLinker"在上面的混乱中出现了四次("... -all_load -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/jr/ios/app/iCozi/build/iCozi.build/DevOnly- iphonesimulator/Cozi\Common\Code.build/Cozi\Common\Code.xcent ...")

只是为了笑容,我尝试从"Cozi Common Code"目标名称中删除空格,但这没有帮助.

再次,这在XCode4模拟器上编译得很好,并且它在XCode5中编译得很好,可以在物理设备上运行,包括iPod和iPad,但XCode5中的每个模拟器都有这个问题(iPhone/iPod/iPad,正常和视网膜,在iOS5/iOS6/iOS7上).

我真的很感激任何可以帮助我深究这一点的人.谢谢!

Pet*_*esh 13

为了理解错误,您必须了解命令尝试执行的操作.

在这种情况下,它正在使用Libtool,这是一个稍微改动的版本libtool.在命令行中指定了一些选项,但我们要查找的是目标文件,并将其作为-o选项,谁的参数/Users/jr/ios/app/iCozi/build/DevOnly-iphonesimulator/libCozi\ Common\ Code.a以及我们正在生成的库的类型传入,并在此处凯斯-static.两个选项一起明确声明您正在创建静态库归档.

因为您正在制作静态库存档,所以您实际做的唯一事情就是获取.o文件和可能的.a文件并将它们转换为另一个.a文件.这可以大致等同于.zip从一组文件(.o)创建文件,以及其他.zip文件(.a)的内容.在进行此归档时,您可以执行的操作非常少,例如,您无法指定在构建静态归档时需要隐式链接的库,您无法指定您将需要授权.

libtool抱怨是因为它不理解正在传入的静态库所使用的选项.在这种情况下,选项是:

-Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/jr/ios/app/iCozi/build/iCozi.build/DevOnly-iphonesimulator/Cozi\ Common\ Code.build/Cozi\ Common\ Code.xcent
Run Code Online (Sandbox Code Playgroud)

当您尝试在权利文件中链接时,这些是存在的选项,这意味着某些选项指定使用权利文件.在这种情况下,您自己找到了正确的解决方案,即删除project settings- > Code Signing- > Code Signing Entitlements- >中指定的权利文件DevOnly.

  • 叹.或者不是试图理解问题,而是可以牺牲鸡和/或删除派生的数据/偏好/任何东西并希望最好.我对这里给出的一些答案感到非常惊讶. (3认同)