想把原来2.x的项目升级到3.x版本,之前没时间一直没有做这件事,3.x版本特性还是蛮多的。在lua代码中,大部分做了兼容。
我们项目使用的cocos2dx-lua版本,把资源、lua代码拷贝过来。
首先遇到cjson报错,3.x里面自带cjson,只是没有添加而已。
编译的时候,出现了几十个无法解析符号
lua_cjson.obj : error LNK2019: 无法解析的外部符号 “int __cdecl lua_gettop(struct lua_State *)” (?lua_gettop@@YAHPAUlua_State@@@Z)
这位问题找了好久,发现只需要在项目设置就可以了
c/c++ => 高级 => 编译为:从 编译为 C++ 代码 (/TP) 改成 默认值
就可以了
一直有个警告,哪位大大来解释下。
2>AppDelegate.obj : warning LNK4217: 本地定义的符号 ?getInstance@LuaEngine@cocos2d@@SAPAV12@XZ (public: static class cocos2d::LuaEngine * __cdecl cocos2d::LuaEngine::getInstance(void)) 在函数 "public: virtual bool __thiscall AppDelegate::applicationDidFinishLaunching(void)" (?applicationDidFinishLaunching@AppDelegate@@UAE_NXZ) 中导入2>AppDelegate.obj : warning LNK4217: 本地定义的符号 ?getLuaStack@LuaEngine@cocos2d@@QAEPAVLuaStack@2@XZ (public: class cocos2d::LuaStack * __thiscall cocos2d::LuaEngine::getLuaStack(void)) 在函数 "public: virtual bool __thiscall AppDelegate::applicationDidFinishLaunching(void)" (?applicationDidFinishLaunching@AppDelegate@@UAE_NXZ) 中导入
环境:
win10
VS2015