xcode 12.4 cocos2dx 3.17.2 编译模拟器版本编译通不过

用cocos2dx 的命令行,新建了一个工程,什么都不改,在xcode12.4上编译模拟器版本,编译失败。编译真机版本可以成功。

在网上查了很多资料,说是在xcode 12.4上,模拟器用的是x86_64,所以没办法编译成功,我把所有的办法都试验了,还是没有成功。

这儿的大神,麻烦帮我解决一下,谢谢!

截图看下错误

从这个提示来看,就是说现在编译的是arm64,但是却去链接x86_64。我新建的工程,什么也没有改,编译就是这样子

这是警告,不是错误

我这xcode11.7打开cocos2dx-3.17.2新加工程也没啥问题呀

我之前用xcode 11也是没有问题的,就是这段时间升级成xcode 12.4,就出问题了。我一开始怀疑是我的工程有问题,所以我就直接新建了一个干净的工程,也出这个问题。
我在网上一搜,貌似有很多人遇到这个问题,但没有一个可以解决的问题。
我把iphone挂,在手机上调试是没有问题的

建议参考下面的链接里的办法
https://stackoverflow.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-
file-built-for-ios

自已问题自己回答一下吧,如下方法,只针对cocos2dx 1.37.2, xcode 12.4,新建工程编译模拟器编不通的问题,其它的都不涉及。
其实修改办法非常简单:
选中你的工程的TARGETS, 在Build Settings中搜索 VALID_ARCHS
这个值原始是 arm64 armv7
在这个值里新添加 x86_64 就可以了,修改后,这个值变成
arm64 armv7 x86_64

至于网上说的那些各种办法,没有一个是靠谱的,至少我试验了,没有一个是成功的。

1赞

Xcode 13没有VALID_ARCHS选项,现在也报错了,要怎么弄好呢