好的,我们试下
可以了,但是我们线上用户还有2%的设备需要armv7,armv7s这个就没办法支持了吗
这个在转到使用 v8 后就不支持了,v8 不支持 32 位设备。之前使用的是 JSC,所以能够支持 32 位,但是之前经过讨论觉得 32 位设备市场占有率太低就不支持了。否则引擎得同时维护 JSC 和 V8,带来的工作量增加不少。
和同事仔细分析了下,引擎本身是支持 armv7 的,但是因为 Xcode 升级导致了不兼容。具体原因是这样的:引擎在链接库依赖里加了 v8 的依赖,但是在 32 位设备上是不会去链接的,在之前的 Xcode 版本没有问题。但是新版本的 Xcode 可能改了规则,不以是否有链接来判断,只要是设置了依赖就会去查找对应架构的库是否存在。
所以我们打算在胖包 libv8_monolith.a 里打入一个假的 armv7 架构的 v8 库,骗过 Xcode 的流程,因为最后反正也不回去链接。这个方式不知道是否可行,还得试验。
对于不支持 armv7 架构的游戏直接按照上面的做法把 armv7 去掉就可以了。
谢谢引擎大神,继续蹲你们验证的方法
@maxyip @314490292 @337971370 @980538137
https://github.com/PatriceJiang/cocos2d-x-lite-external/blob/v2.4-add-armv7-placeholder-to-libv8/ios/libs/libv8_monolith.a 下载替换 external/ios/libs/libv8_monolith.a 试试
替换后可以出包了
解决没,2.3.3 替换后同样的问题
cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj The linked library ‘libluajit.a’ is missing one or more architectures required by this target: arm64.
这个报错怎么解决
2.3.3替换了还是会报错,和楼上说的一样,调试都会报错,只能armv7 才正常。
2.3.4还是报错哦
Undefined symbols for architecture arm64:
“v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)”, referenced from:
node::SetupProcessObject(node::Environment*, int, char const* const*, int, char const* const*) in libcocos2d iOS.a(node.o)
node::inspector::Agent::StartIoThread(bool) in libcocos2d iOS.a(inspector_agent.o)
“v8::Object::Get(v8::Localv8::Value)”, referenced from:
node::inspector::Agent::StartIoThread(bool) in libcocos2d iOS.a(inspector_agent.o)
“v8::ResourceConstraints::ResourceConstraints()”, referenced from:
v8::Isolate::CreateParams::CreateParams() in libcocos2d iOS.a(ScriptEngine-5b257b56806d052c8b08eee76ba45d75875466b96481ba7c4432d42091c1622a.o)
“v8::Object::Set(unsigned int, v8::Localv8::Value)”, referenced from:
node::SetupProcessObject(node::Environment*, int, char const* const*, int, char const* const*) in libcocos2d iOS.a(node.o)
“v8::V8::SetFlagsFromString(char const*, int)”, referenced from:
se::ScriptEngine::init() in libcocos2d iOS.a(ScriptEngine-5b257b56806d052c8b08eee76ba45d75875466b96481ba7c4432d42091c1622a.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
还是一样的报错
同样的错误 2.3.2版本
no 还是不行 改了config了 也清空缓存了 调试没问题archieve报错
我也GG了。。。这次更新来的太突然
试了还是不行,同样的错误
我修改我的回复了。
Showing All Messages
The linked and embedded framework ‘AliyunOSSiOS.framework’ is missing one or more architectures required by this target: x86_64.
framework 报错了

