0

我在构建包含 SQLCipher 和 OpenSSL 的存档项目时遇到问题。

该项目在模拟器和我的 iphone 上构建良好,但是在构建 Ad-Hoc 分发时(使用正确的 Ad-Hoc 方案)它构建但导致错误:

ld“/Users/macuser/Library/Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/IntermediateBuildFilesPath/BlahHealthcare.build/Ad Hoc-iphoneos/BlahHealthcare.build/Objects-normal/armv6/BlahHealthcare”正常armv6 cd“ /Users/macuser/Projects/BlahHealthcare" setenv IPHONEOS_DEPLOYMENT_TARGET 4.3 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin: /sbin" /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk "-L/Users/ macuser/库/开发人员/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/BuildProductsPath/Ad Hoc-iphoneos" "-L/Users/macuser/Projects/BlahHealthcare""-F/Users/macuser/Library/Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/BuildProductsPath/Ad Hoc-iphoneos"-filelist"/Users/macuser/库/开发人员/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/IntermediateBuildFilesPath/BlahHealthcare.build/Ad Hoc-iphoneos/BlahHealthcare.build/Objects-normal/armv6/BlahHealthcare.LinkFileList" -dead_strip -lxml2 -miphoneos-version- min=4.3 -lcrypto -lsqlcipher -framework Foundation -framework UIKit -framework CoreGraphics -licucore.A -framework CFNetwork -framework SystemConfiguration -framework MobileCoreServices -lz.1.2.3 -framework Security -o "/Users/macuser/Library/Developer/Xcode/DerivedData/BlahHealthcare-frojqoeewvysjpcgcdtltizzbdri/ArchiveIntermediates/BlahHealthcare/IntermediateBuildFilesPath/BlahHealthcare.build/Ad Hoc-iphoneos/BlahHealthcare.build/Objects-normal/armv6/BlahHealthcare”

ld:找不到-lcrypto collect2的库:ld返回1退出状态命令/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2失败,退出代码为1

一切似乎都配置正确,所以我不知道从这里去哪里。我在其他帖子上尝试了各种答案,但似乎都没有奏效。

有谁知道我哪里出错了?

4

1 回答 1

0

看起来你只为 armv6 构建(不是 armv6+armv7,或者只是 armv7),这对于 Xcode 4.2 和构建系统可能有点麻烦,因为它现在似乎默认为 armv7 并且放弃了对 armv6 的支持。无论如何,我们最近更新了 OpenSSL-Xcode 和 SQLCipher Xcode 项目构建设置,这样大多数构建将在调试和发布上成功运行,前提是“子项目” 1具有与正在构建的主项目匹配的 ARCHS 设置。目前我们将其默认为 armv6 和 armv7。

你应该做的是获取最新版本的OpenSSL-XcodeSQLCipher ,根据我们更新的教程检查你的项目设置,如果一切都匹配,调整ARCHITECTURES你的主项目文件的构建设置中的设置,以及两个依赖项项目只包含“armv6”。

[1] “子项目”没有像通常假设的那样继承任何设置,所以这有点用词不当,因此是吓人的引号。

于 2011-11-15T15:34:55.560 回答