[英]How do I force the Xcode compiler to ignore a library when building for the iOS simulator
I am getting a series of linker errors when building a specific library for the iOS simulator.在为 iOS 模拟器构建特定库时,我遇到了一系列链接器错误。 The source of the issue seems to the be architecture that the library was build for which seems to cause issue when compiling for the iOS simulator.
问题的根源似乎是构建库的架构,在为 iOS 模拟器编译时似乎会导致问题。 The specific library is the Aurasma augmented reality library.
具体的库是 Aurasma 增强现实库。
My question would be this, is there a way to not compile a library when the code is being compiled for the iOS simulator?我的问题是,有没有办法在为 iOS 模拟器编译代码时不编译库? Although I do have some code that is dependent on that library I could easily use an #ifdef statement to only use that code when NOT in the iOS simulator.
尽管我确实有一些依赖于该库的代码,但我可以轻松地使用#ifdef 语句仅在不在 iOS 模拟器中时使用该代码。
I can easily admit I may not understand the full root of the issue.我可以很容易地承认我可能不了解问题的全部根源。 I have attempted some solutions using a -weak_library linker flag with no specific progress or success.
我尝试了一些使用 -weak_library 链接器标志的解决方案,但没有具体进展或成功。
In XCode, you can configure a separate library list for each iOS\/simulator sdk.在 XCode 中,您可以为每个 iOS\/模拟器 sdk 配置单独的库列表。 Here are the step to configure this:
以下是配置此的步骤:
Same technique can be applied for other settings in XCode for a target.相同的技术可以应用于 XCode 中针对目标的其他设置。
我遇到了同样的问题,我所做的是将统一项目配置为编译为模拟器 SDK,然后在 Xcode 中我将目标>构建设置更改为编译为发布,如果我记得清楚并且宾果游戏项目工作并且我有未签名ipa 文件。
"\/\/:configuration = ReleaseForProfiling CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] = \/\/:configuration = ReleaseForProfiling CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] =
\/\/:configuration = Release CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] = \/\/:configuration = Release CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] =
\/\/:configuration = Debug CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] = \/\/:配置 = 调试 CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] =
\/\/:configuration = ReleaseForRunning CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] = \/\/:configuration = ReleaseForRunning CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = DEVELOPMENT_TEAM = PROVISIONING_PROFILE_SPECIFIER[sdk=iphonesimulator*] = PROVISIONING_PROFILE[sdk=iphonesimulator*] =
\/\/:completeSettings = some CODE_SIGN_ENTITLEMENTS CODE_SIGN_IDENTITY CODE_SIGN_STYLE DEVELOPMENT_TEAM OTHER_CODE_SIGN_FLAGS PROVISIONING_PROFILE_SPECIFIER PROVISIONING_PROFILE \/\/:completeSettings = some CODE_SIGN_ENTITLEMENTS CODE_SIGN_IDENTITY CODE_SIGN_STYLE DEVELOPMENT_TEAM OTHER_CODE_SIGN_FLAGS PROVISIONING_PROFILE_SPECIFIER PROVISIONING_PROFILE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.