简体   繁体   English

ld:为iOS模拟器构建,但是与dylib链接?

[英]ld: building for iOS Simulator, but linking against dylib?

I'm having a issue compiling my app for Simulator. 我在为Simulator编译我的应用程序时遇到问题。 In the device runs perfectly but once I tried it to compile in simulator I get the following error: 在设备运行完美,但一旦我尝试在模拟器中编译我得到以下错误:

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)

I checked before posting this question, but the answers I found in stackoverflow, like to run this, 我在发布这个问题之前检查过,但我在stackoverflow中找到的答案,比如运行这个,

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

or 要么

The problem was that Xcode 5 replaces gcc with clang and adds in a "-triple" option that specifies OSX as the target. 问题是Xcode 5用clang替换了gcc并添加了一个“-triple”选项,指定OSX作为目标。 If you pass "-miphoneos-version-min=7.0" on both gcc command lines it works. 如果你在两个gcc命令行上传递“-miphoneos-version-min = 7.0”,它就可以工作。 You can see the clang command line if you pass "--verbose" to gcc. 如果将“--verbose”传递给gcc,则可以看到clang命令行。 It's also necessary to add to the PATH for Xcode 5 so that cmake can find the necessary tools: export PATH=/Applications/Xcode5-DP6.app/Contents/Developer/Toolchains/XcodeDefault.xct‌​oolchain/usr/bin:/Applications/Xcode5-DP6.app/Contents/Developer/usr/bin:$PATH None of this is official.. but works for me so far. 还需要添加到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这些都不是官方的..但到目前为止对我有用。

I dont really understand how to to do this. 我真的不明白该怎么做。 Any help, please? 有什么帮助吗?

Check Build Settings for your test target. 检查测试目标的Build Settings This values should look similar: 这个值看起来应该类似:

在此输入图像描述

If you have any escaped symbol, consider to fix it. 如果您有任何转义符号,请考虑修复它。 I had here : \\" . I just removed them 我在这里: \\" 。我刚刚删除它们

Also notice: order is important! 另请注意:订单很重要!

PS from GraehamF It's always a good thing to Build -> Clean and restart Xcode, so the changes to take affect 来自GraehamFPS Build -> Clean并重新启动Xcode总是一件好事,所以更改才会生效

When I faced this error with an XCode project, I open the file ???.xcodeproj (in a SubLime Text editor) and removed the below lines. 当我使用XCode项目遇到此错误时,我打开文件???.xcodeproj (在SubLime文本编辑器中)并删除下面的行。 The warning will no longer be there! 警告将不再存在!

LIBRARY_SEARCH_PATHS = (
    "\"${PROJECT_DIR}/../../../../../usr/lib\"/**",
    "\"${PROJECT_DIR}/../../../../../usr/lib\"/**",
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ld:为iOS模拟器构建,但是为针对MacOSX文件构建的dylib进行链接 - ld: building for iOS Simulator, but linking against dylib built for MacOSX file 为iOS Simulator构建,但与针对MacOSX构建的dylib链接“ /opt/local/lib/libsqlite3.dylib”,用于体系结构i386 - building for iOS Simulator, but linking against dylib built for MacOSX file '/opt/local/lib/libsqlite3.dylib' for architecture i386 ld:为 iOS 模拟器构建,但在为 iOS 构建的 dylib 中链接,文件 'Frameworks/TitaniumKit.framework/TitaniumKit' 用于架构 arm64 - ld: building for iOS Simulator, but linking in dylib built for iOS, file 'Frameworks/TitaniumKit.framework/TitaniumKit' for architecture arm64 Xcode 12.4 为 iOS 模拟器构建,但在为 iOS 构建的 dylib 中链接, - Xcode 12.4 Building for iOS Simulator, but linking in dylib built for iOS, Apple Mach-O链接器(id)警告:为MacOSX构建,但是针对为iOS构建的dylib进行链接 - Apple Mach-O linker (id) warning : building for MacOSX, but linking against dylib built for iOS ld:在/Users/.../Pods/...中,为 iOS 模拟器构建,但在为 iOS 构建的 object 文件中链接,文件 '/UsersFirebaseAnalysis/./ - ld: in /Users/…/Pods/…, building for iOS Simulator, but linking in object file built for iOS, file '/Users/../Pods/FirebaseAnalyti Xcode 错误“为 iOS 模拟器构建,但在为 iOS.. 构建的 dylib 中链接”来自 Apple Silicon M1 Mac - Xcode error 'building for iOS Simulator, but linking in dylib built for iOS .. for architecture arm64' from Apple Silicon M1 Mac 为iOS模拟器创建一个dylib - Creating a dylib for iOS simulator xcode12 issus: ld :building for iOS Simulator,但链接到为 iOS 构建的目标文件,文件 'xxx.framework/xxx' 用于架构 arm64 - xcode12 issus: ld :building for iOS Simulator, but linking in object file built for iOS, file 'xxx.framework/xxx' for architecture arm64 为 iOS 模拟器构建,但在为 iOS 构建的目标文件中链接 - building for iOS Simulator, but linking in object file built for iOS
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM