6

几个月来我一直在创建一些应用程序,突然 Xcode 5 不想构建它。它只是抱怨以下错误。

Ld build/Debug-iphonesimulator/appname.app/appname normal i386
cd /Users/myname/proyectos/appname/dev/iOS/appname
setenv IPHONEOS_DEPLOYMENT_TARGET 5.1
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/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -L/Users/myname/proyectos/appname/dev/iOS/appname/build/Debug-iphonesimulator -L\"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/FlurryAnalytics\" -L\"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/SmartADServer\" -L\"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/TestFlight\" -F/Users/myname/proyectos/appname/dev/iOS/appname/build/Debug-iphonesimulator -F/Users/myname/proyectos/appname/dev/iOS/appname/appname/External -filelist /Users/myname/proyectos/appname/dev/iOS/appname/build/appname.build/Debug-iphonesimulator/Appname.build/Objects-normal/i386/appname.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.1 -weak_framework AdSupport -framework Security -framework MessageUI -framework Twitter -framework CoreLocation -weak_framework CoreMotion -framework AudioToolbox -framework AVFoundation -framework MediaPlayer -framework SystemConfiguration -framework MobileCoreServices -lz -framework CFNetwork -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -lTestFlight -framework comScore -lFlurry -Xlinker -dependency_info -Xlinker /Users/myname/proyectos/appname/dev/iOS/appname/build/appname.build/Debug-iphonesimulator/Appname.build/Objects-normal/i386/appname_dependency_info.dat -o /Users/myname/proyectos/appname/dev/iOS/appname/build/Debug-iphonesimulator/appname.app/appname

ld: warning: directory not found for option '-L"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/FlurryAnalytics"'
ld: warning: directory not found for option '-L"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/SmartADServer"'
ld: warning: directory not found for option '-L"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/TestFlight"'
ld: library not found for -lTestFlight
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果我理解它,它会抱怨 testflight,但我在几周内没有改变任何东西。它完美地编译了它。

我不得不说我已经尝试将 Adob​​e ADMS 跟踪库添加到项目中(但随后撤消了它的添加)。然后,出现链接器错误。

有什么提示吗?我完全迷失和沮丧。我的项目文件是否已损坏?(希望不要!!)在这种情况下有希望恢复它们吗?

问候

4

5 回答 5

9

“问题解决了”。

显然(正如 ahwulf 所说,我怀疑)我的项目路径/库/标题在 Xcode 5 中以某种方式损坏。

我的解决方案是什么?在进行了更多额外的测试之后,我只是从项目(以及磁盘中)中物理删除了一些明显冲突的库(testflight、flurry 等)并开始编译,等待出现的明显编译错误。

当它们出现时,我只是重新添加了 XCode 要求我添加的文件(一次一个文件/库),然后一个接一个,所有这些错误开始慢慢消失。我原来的链接错误也消失了,所以我的项目再次构建。

我有一种感觉,我真的不知道我做了什么,但“它起作用了”。

于 2013-10-10T07:58:36.333 回答
1

在这种情况下对我有用的方法是从 Build Phases 的 Link Binary With Libraries 部分中删除“libTestFlight.a”并清理我的项目,然后将其从我的文件树中重新拖到该部分中。(当然,如果您想在您的应用程序中使用 Testflight,请确保您还有 libz.dylib 作为框架,并且相关的 TestFlight 文件也包含在您的项目中,例如 TestFlight.h、TeshFlight+AsyncLogging.h 和 TestFlight+ManualSession .h - 如果 libz.dylib 被删除然后重新读取它可能会导致此错误)。祝代码战士好运!

于 2014-04-24T15:51:38.563 回答
0

XCode 5 似乎有一个错误,它会在构建设置中自发地添加一个额外的绝对路径。已经咬过我几次了。

于 2013-10-09T17:22:37.453 回答
0

由于完全不同的原因,我遇到了相同的错误。

从 TestFlight 1.2.4 升级到 TestFlight 2.0.2 后,构建在我自己的机器上运行,但在另一台机器上的夜间构建失败。

找不到库的简单原因是它没有被提交。我们的 .gitignore 被设置为忽略 .a 文件,所以 libTestFlight.a 没有被包括在内。在 Xcode 中打开项目比命令行构建日志更明显。

git add -f 解决了这个问题。

于 2013-11-11T08:17:25.380 回答
0

添加TestFlight 2.0.2时我遇到了完全相同的问题。它也与Flurry(和其他一些)发生冲突。删除(参考!)并重新添加所有与 TestFlight 冲突的库对我有帮助。但首先不要忘记删除Library Search Paths

于 2013-11-28T17:28:57.190 回答