解决:Cocos2d 打包安卓时出现 error variable dll_port ClassName has initializer…

2017年3月9日 950 次阅读 1 条评论 0 人点赞

今天在 Q 群有个群友问:做一个 Cocos2d 的项目在打包安卓的时候出错了,出现了这么一个情况,error: variable 'dll_port CPackgeMgr' has initializer but incomplete type class dll_port CPackgeMgr

后来他看代码发现,代码处是这么写的:

他不知道是什么意思,问如何解决。


我看到这个问题,回想到我之前做一个项目的时候,需要把一个纯 Mac 上的 Cocos2d 的项目移植到 Windows 上做开发。因为一些 Cocos2d 的库被修改过编译的时候出现 DLL 引用的问题,所以特意了解了下这方面的问题。这次这个群友出现了这个问题,虽然不是相同的问题,但是问题的根本原因是一致的,都是 DLL 声明编译的问题。我给他指出了把上面的代码做如下更改:

他修改后回复说,编译通过,的确是这个问题导致的。

后来我们讨论说,看这个项目的写法,应该之前的项目是纯 Win32 的项目,为了在 Windows 的编译这么写,但是没有考虑 Android 和 iOS 的编译问题,如果做了上面的修改才会在编译的时候忽略 dll_port 做到不同平台的兼容。

我就是我,是颜色不一样的烟火。

文章评论(1)

  • 增达网

    从百度进来的,拜读一下贵站博文先
    丁酉年(鸡)二月十五 2017-3-12

    2017年3月12日