libtool 在 XCode 4.3 上失败,退出代码为 1

Posted

技术标签:

【中文标题】libtool 在 XCode 4.3 上失败,退出代码为 1【英文标题】:libtool failed with exit code 1 on XCode 4.3 【发布时间】:2012-03-01 06:39:53 【问题描述】:

我有 XCode 4.3,但遇到了这个令人沮丧的 xml-lib 相关错误。我有一种感觉,因为 4.3 没有使用 /Developer 文件夹,而是使用 /Applications/XCode.app/... 错误消息如下:

Libtool /Users/dkatz/Library/Developer/Xcode/DerivedData/RWEngines-ewchevfhokeivnffrputdqapsyxu/Build/Products/Release-iphonesimulator/RWEngines.framework/Versions/A/RWEngines normal i386
cd /Users/dkatz/Sites/xCode/RWA/RWEngines
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only i386 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/dkatz/Library/Developer/Xcode/DerivedData/RWEngines-ewchevfhokeivnffrputdqapsyxu/Build/Products/Release-iphonesimulator -filelist /Users/dkatz/Library/Developer/Xcode/DerivedData/RWEngines-ewchevfhokeivnffrputdqapsyxu/Build/Intermediates/RWEngines.build/Release-iphonesimulator/RWEngines.build/Objects-normal/i386/RWEngines.LinkFileList -ObjC -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework UIKit /Users/dkatz/Library/Developer/Xcode/DerivedData/RWEngines-ewchevfhokeivnffrputdqapsyxu/Build/Products/Release-iphonesimulator/libCorePlot-CocoaTouch.a -framework SenTestingKit -framework QuartzCore -framework Foundation -framework RWCommon -o /Users/dkatz/Library/Developer/Xcode/DerivedData/RWEngines-ewchevfhokeivnffrputdqapsyxu/Build/Products/Release-iphonesimulator/RWEngines.framework/Versions/A/RWEngines

以及实际的错误:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool 失败,退出代码为 1

谢谢大家!

【问题讨论】:

我还从 App Store 安装了 XCode 4.3,而不是 dmg 文件。会不会是这个问题? 你的目标是 ios 模拟器吗? 【参考方案1】:

我遇到了这个问题。我正在按照本教程在 phonegap 应用程序中嵌入 webview-http://docs.phonegap.com/en/2.2.0/guide_cordova-webview_ios.md.html#Embedding%20Cordova%20WebView%20on%20iOS

如第 12 点所述,我在“其他链接器标志”中添加了“-Obj-C”。 我刚刚将 -Obj-C 更改为 -ObjC 并且它有效!

【讨论】:

【参考方案2】:

我不知道这是否会对您有所帮助,但我通过删除“其他链接器标志”构建设置中设置的“-licucore”链接器标志来消除该错误。这似乎是 Mac OSX 的正则表达式库。

【讨论】:

我在哪里可以找到它?我在构建和目标中通过“licucore”进行了搜索,但找不到它。我有其他链接器标志我有“-all_load -ObjC” 在我的项目中,它位于这些标志旁边。对不起。顺便说一句,事实证明它为正则表达式使用的 intl 字符串链接了 ICU 库。我知道,不相关。 好的,所以出口 1 是一般错误。如果您想查看更详细的错误消息,可以将帖子的前几行复制/粘贴到终端中,然后从 libtool 获取原始错误消息。【参考方案3】:

当我尝试存档以进行临时测试时,我遇到了同样的问题,发现它在抱怨,因为我的方案名称中有一个空格字符。为了解决这个问题,我去了 Manage Schemes 并从名称中删除了空格。

我的具体错误是

clang: error: '-I-' not supported, please use -iquote instead

【讨论】:

【参考方案4】:

切换时出现此错误 Xcode 4.6 开发者预览版 1 到 Xcode 4.6 开发者预览版 2

解决方法是将所有框架重新添加到您的项目中!

所有框架(iAd、QuartzCore、GameKit、StoreKit 等)仍然从 DP1 指向 Xcode 路径。我只需要将它们重新绑定到 DP2。此外,在添加框架时选择“相对于 SDK”而不是“绝对路径”,因为某些框架(其中 10%)仍然指向正确的路径。

【讨论】:

【参考方案5】:

这可能会有所帮助。

在项目构建设置中,尝试删除“Other Interface Builder Compiler Flags”的构建设置(如果设置了 -Wmost,请将其设置为 nil)。

Project --> Build settings ---> Other Interface Builder Compiler Flags --> 设置为无(空)。

【讨论】:

以上是关于libtool 在 XCode 4.3 上失败,退出代码为 1的主要内容,如果未能解决你的问题,请参考以下文章

命令 libtool 失败,退出代码为 1

在 XCode 4.3 中从命令行构建时链接任意库

使用ar或libtool创建静态存档在越狱iOS上失败

xCode 4.3 使用 RestKit 归档项目失败:#import <RestKit/RestKit.h> Not found

在 xcode 4.3 上添加 iphone sdk 6.1

如何在 Xcode 4.3 上使用 JavaScript?