quick-cocos2d-x Qt版本在windows上遇到的编译问题 LNK2001 !

5 篇文章 0 订阅
4 篇文章 0 订阅

LNK2001 错误, 和传统Google出来的结果不一样, 这一次谷姐没有能帮助到自己,自食其力!


error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall cocos2d::CCEGLView::setViewName(char const *)" 

error LNK2001: 无法解析的外部符号 "unsigned int __cdecl hash_code(class type_info const &)" (?hash_code@ YAIABVtype_info @@Z)


找不到链接,肯定是哪里指向出错了.

一切的错误都一定会有表现, 除了LNK2001这个偌大的错误提醒外,应该还有点别的.仔细观察之:


E:\workstation\quick-cocos2d-x-jimi\lib\cocos2d-x\cocos2dx\platform\win32\CCEGLView.cpp 


这不是我想要编译的文件! 


$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCCommon.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCAccelerometer.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCApplication.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCDevice.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCEGLView.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCStdC.cpp \

这个时候毕比较容易着急, make clean, qmake, make .......

结果却得不到任何的改变~~


注意到一点, qt 平台和 win 平台下的文件名是一样的. 改之试试:

$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCCommonQt.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCAccelerometerQt.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCApplicationQt.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCDeviceQt.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCEGLViewQt.cpp \
$${ROOT}/lib/cocos2d-x/cocos2dx/platform/qt/CCStdCQt.cpp \

Bingo!! 无论怎么重新clean,qmake, 编译, 重编译, 都不是个问题了!


结论:

不同的目标平台下一定要保持实现文件不一样, 带上平台后缀,以免去不必要的麻烦~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值