This topic created in 3983 days ago, the information mentioned may be changed or developed.
Archive与Profile时设置Release模式都是编译失败,Profile时如果设置为Debug编译就没有问题。报的错为Undefined symbols for architecture armv7(或arm64)
找到那些库的.a文件,用lib -info命令查询,要不就全是armv7格式的,要不就全是armv7格式,搞不清是哪里设置不对,这里有人碰到过吗?
8 replies • 2015-06-18 02:57:20 +08:00
 |
|
1
pheyer Jun 17, 2015
排除Build Active Architecture Only设置问题,都设置了Debug为YES,Release为NO.
|
 |
|
2
fangjinmin Jun 17, 2015
看看Pods.release.xcconfig的设置对不对吧。
|
 |
|
3
pheyer Jun 17, 2015
@ fangjinmin 要看哪项?我简单对比了Pods.release.xcconfig和Pods.debug.xcconfig,应该是一样的
|
 |
|
4
pheyer Jun 17, 2015
有个地方弄错了,应该是没有生成Release版本的pod版本库,在DerivedData文件夹中,无论是app的Build/Intermediates/Pods.build路径下还是Build/Products/路径下,都没有生成Release-iphoneos文件夹,自然也就没有Release库了。还是很奇怪。 报错是在最后一步Link时才出错的,也就是前面的cocoapods库和自己的源码编译都没有问题
|
 |
|
5
pheyer Jun 17, 2015
现在的问题是生成了Release-iphoneos文件夹,而且其中的.a库用lipo -info命令查看都是支持armv7 arm64,依然是报同样的错
|
 |
|
6
pheyer Jun 17, 2015
解决了,真TM坑啊,要在Build Setting - Linking - Other Linker Flags - Release - Any Architecture | Any SDK里加上$(inherited),使得Other Linker Flags下Debug和Release都显示一样的,光对Release设置$(inherited)无效。 另外上面做完后,编译还是一样的错,clear deriveddata文件夹后再编译就好了
|
 |
|
8
wezzard Jun 18, 2015 via iPhone
我也遇到過同樣的問題
|