我正在 Xcode 上开发一个 cocos2d-x 项目。我创建了一个场景并遇到了这个错误:
Undefined symbols for architecture x86_64:
"MainScene::scene()", referenced from:
Splash::finishSplash(float) in Splash.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我搜索了好久,看到了很多解决方案。但我仍然对错误感到困惑。有时遇到x86_64
错误,有时遇到i386
错误。我是 iOS 开发的新手。那么如何解决呢?
我试过以下,但错误仍然出现:
- 在
Valid Architectures
中删除项目i386
和arm64
- 在
Header Search Paths
中添加所有路径 - 检查
链接的框架和库
我正在使用 cocos2d-x 2.2.6 cpp。 Xcode 版本 6.3.2 (6D2105)。我使用 python 脚本创建了这个 iOS 项目。
最佳答案
我遇到了类似的问题。我使用以下配置(在 cocos2d-x 3.x 上,但在 2.x 上应该相同):
在根项目上:
仅构建事件架构 - 是(调试),否(发布)。 有效架构:armv7、armv7s、i386、x86_64、arm64。
关于 cocos2d_libs 项目:
构建事件架构编号 有效架构:armv7、armv7s、i386、x86_64、arm64。
您还应该更新到最新的 Xcode(可能不会很快将 Xcode 6.x 上的应用程序发送到应用程序商店)和 cocos2d-x(它比 2.x 更容易)。
关于ios - cocos2d-x 在 Xcode 中移植 iOS 应用程序时架构 x86_64 的 undefined symbol ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32818247/