我在为Simulator编译我的应用程序时遇到问题。在设备运行完美,但一旦我尝试在模拟器中编译我得到以下错误:
ld: building for iOS Simulator, but linking against dylib built for MacOSX file '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/XCTest.framework/XCTest' for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我在发布这个问题之前检查过,但我在stackoverflow中找到的答案,比如运行这个,
export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH
要么
问题是Xcode 5用clang替换了gcc并添加了一个“-triple”选项,指定OSX作为目标。如果你在两个gcc命令行上传递“-miphoneos-version-min = 7.0”,它就可以工作。如果将“--verbose”传递给gcc,则可以看到clang命令行。还需要添加到Xcode 5的PATH,以便cmake可以找到必要的工具:export PATH = / Applications / Xcode5-DP6.app / Contents / Developer / Toolchains / XcodeDefault.xct oolchain / usr / bin:/ Applications / Xcode5-DP6.app/Contents/Developer/usr/bin:$PATH这些都不是官方的..但到目前为止对我有用。
我真的不明白该怎么做。有什么帮助吗?
检查Build Settings
是否为您的测试目标。这个值看起来应该类似:
如果您有任何转义符号,请考虑修复它。我在这里:\"
。我刚删除它们
另请注意:订单很重要!
附:来自GraehamF对于Build -> Clean
并重新启动Xcode总是一件好事,所以改变要生效
当我使用XCode项目遇到此错误时,我打开文件???.xcodeproj
(在SubLime文本编辑器中)并删除以下行。警告将不再存在!
LIBRARY_SEARCH_PATHS = (
"\"${PROJECT_DIR}/../../../../../usr/lib\"/**",
"\"${PROJECT_DIR}/../../../../../usr/lib\"/**",
);