Undefined symbols for architecture armv7:
“res::playTypes”, referenced from:
AppDelegate::socketReceiver(int, int, ByteBuffer*) in AppDelegate.o
“SocketDataProcess::parseRegistBackData(ByteBuffer*)”, referenced from:
AppDelegate::socketReceiver(int, int, ByteBuffer*) in AppDelegate.o
很多一类错误,凡是静态调用方法或者变量都会这样。
感觉是头文件的问题,求教!谢谢。
补充一下,我没有把 Clasess下的新的文件拷贝或者通过add files加入到工程中,而是用把classes目录添加到Header search path的方法。
(之所以这样,是因为add files 无论怎么设置,都会报找不到#include xxdir/xxfile.h找不到,得用#include xxfile.h但又会影响android)
谢谢,我不知道怎么弄searchpath之类的,就好了。
只是现在luajit又用不了。
mac10.8,xcode5.0.2,我直接用cocos2dx-2.2.6。。。里面的liblua.a 或者libluajit.a 都会报很多的Undefined symbols for architecture armv7。然后我网上找了一个声称支持cocos2dx-3.3.1 +arm64 libluajit.a 来用,就只报一个错误:
ld: warning: ignoring -seg1addr 0x100000000. Address out of range.
Undefined symbols for architecture armv7:
“cocos2d::CCLuaEngine::defaultEngine()”, referenced from:
LuaCallCpp::receiverSocketData(int, int, ByteBuffer*) in LuaCallCpp.o
AppDelegate::applicationDidFinishLaunching() in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我估计这还是库文件不支持armv7。
然后我就想用cocos2dx-2.2.6/script/lua/luajit/里面的build_ios.sh来编译,结果又说找不到gcc,
接着我根据网上的文章,把clang连接到gcc,改了build_ios.sh。
编译又报好多:error: unknown type name ‘__uint32_t’
结果是:fatal error: too many errors emitted, stopping now [-ferror-limit=]
不知道怎么办了。
我做的项目用了lua,httpclient(curl),先在windows下,用vs运行成功。
总结我这一周的折腾,在windows下运行成功,iOS打包注意:
1、resources所有图片add files到xcode项目中
2、所有classes下增加的add files到xcode项目中
3、scripting/lua下的lua、tolua、xxtea、cocos2dx-support
4、libcurl是我自己编译的,网上找的文章,liblua是别人给的现成的。
官方的文档实在乱,应该考虑市场对各种版本的使用情况,每个出个新手全面教程。
真的好多坑,我们不是已经折腾了3周,加上时间紧迫,早改用unity了。
稳定是第一位的,功能再多不稳定,不好用,版本乱,都会让人受不了。