这个问题一直让我发疯,我无法解决如何修复它...
Undefined symbols for architecture armv7:
"_deflateEnd", referenced from:
-[ASIDataCompressor closeStream] in ASIDataCompressor.o
"_OBJC_CLASS_$_ASIDataDecompressor", referenced from:
objc-class-ref in ASIHTTPRequest.o
"_deflate", referenced from:
-[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
"_deflateInit2_", referenced from:
-[ASIDataCompressor setupStream] in ASIDataCompressor.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
我认为这与:
ld: symbol(s) not found for architecture armv7
Run Code Online (Sandbox Code Playgroud)
但我补充道:libz.1.2.3.dylib它没有帮助,任何人都有任何想法?
升级到Studio Canary构建.我之前的Telegram Messenger项目给出了以下错误.
错误:所有风味现在必须属于命名风味维度.风味'armv7'未分配给风味维度.有关详细信息,请访问https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
我该怎么办?我已经看过那个链接,但无法理解该怎么做.我现在有3个构建变体,发布,调试和foss.
在我当前的项目中,我使用了多个.so文件.这些位于armeabi和armeabi-v7a文件夹中.不幸的是,其中一个.so文件是6MB,我需要减小文件大小.我想使用armeabi文件并删除armeabi-v7a文件夹,而不是有一个胖的APK文件.
根据NDK文档,armeabi-v7a代码是扩展的armeabi代码,可以包含额外的CPU指令.这一切都超出了我的专业知识,但我怀疑为什么人们想要同时拥有armeabi-v7a和armeabi代码.两者都有充分的理由,对吗?
在我的测试设备上,这一切看起来都很好.这些都有ARM v7 CPU.假设现在一切正常可以安全吗?
什么是可以在armv7s和arm64上运行的所有支持的ios设备.换句话说,如果我在构建体系结构中没有包含armv7,那么我将排除哪个市场?
我很好奇armv7s,而不是armv7.我认为这将是一个基本的谷歌搜索,但未能找到一个明确的答案.
如果有任何优势......在文档中找不到任何结论.
显然armv7适用于较新版本的iOS ...它更快吗?小吗?X更好?
目前我正在编译armv6和armv7.我还将目标iOS版本设置为4.0.
我是否正确地说所有能够运行iOS 4.0+的设备都是armv7,因此我可以停止为armv6编译?
没什么大不了的,但这意味着如果可以,我的应用程序的二进制文件将会相当小.
我知道这是不可能的,Apple以这种方式计划强迫用户升级他们的设备.但我只是想知道是否有一些解决方法或黑客能够做到这一点?客户坚持认为我们仍然应该支持armv6,因为仍有"大"的应用用户百分比.
我知道一个叫做lipo合并静态库的命令,我在某个地方读到我们也可以用它来合并ipa文件,但我不确定它是如何完成的.我已经在谷歌和这个网站上进行了几次搜索,但很难找到具体的答案.
我已经构建了自己的静态C++库,它使用以下设置构建:
库项目构建良好,我得到.a文件(我已经清理了构建文件夹并再次构建项目以确保我的设置有效).
我已将库(.a文件)添加到我的iOS项目中,但即使我在iOS项目中设置了完全相同的设置,项目也无法构建:
我一直收到这个错误:
LD:警告:忽略文件 /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a,文件归档建这不是架构被链接(armv7s) : /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a
我错过了什么?它告诉我.a文件不是为armv7s构建的,但这正是我用库构建的设置.
我是第三方库的开发人员,我想为armv7重新编译我的库,但我似乎有问题.
我将xcode更新为4.5.我更新了项目和相关目标,以获得有效的架构armv7 armv7s.
但是,当我跑file或者lipo -info,它列出
没有armv7s.我错过了什么吗?
我偶然发现了一个我需要处理的项目问题.该项目使用Cocoapods来管理其库.我pod install像往常一样开始运行,但xcode给了我错误.我得到了Undefined symbols for architecture armv7你在下面的图片中看到的:

所有这些符号都是我用于项目的库.例如.AFNetworking,RNBlurModalView.我试图从项目中删除所有Cocoapods相关文件并pod install再次运行,但它仍然无法解决问题.
到目前为止我做了什么:
pod install再次运行.YES到NO.我也尝试了同样问题的解决方案,但没有一个对我有用.
如果它有帮助,我正在使用xCode6和Cocoapods 0.34.4.项目有效的架构是armv7 and armv7s.
更新:运行时pod install --verbose
Integrating client project
Integrating target `Pods` (`AIYOCore.xcodeproj` project)
[!] The use of implicit sources has been deprecated. To continue using all of the sources currently on your machine, add the following to the top of your Podfile: …Run Code Online (Sandbox Code Playgroud)