C++ - Cocos2dx - LNK1140 error: too many modules

C++ - Cocos2dx - LNK1140 error: too many modules

我正在使用我的 Cocos2dx 应用程序的 PC 端口,我 运行 遇到错误:LINK:致命错误 LNK1140:程序模块太多数据库; link 与 /PDB:NONE

PC 端口之前工作正常,但是当我向解决方案添加新的 .cpp 文件或 .lib 时,我突然 运行 出现此错误。上网查了几天都没找到

虽然我可以打开 PDB:NONE 标志,但这意味着我不能再在 PC 上调试了。

从我从 linker 那里看到的输出来看,libcocos2d 包含了很多,所以我认为这可能是问题所在?我的应用程序的 .obj 文件(模块)数量约为 100。最大数量为 4095。因此其他 4k 必须来自某个地方。

PDB 文件也大得离谱 (347MB),但我不确定这是不是因为 libcocos2d。

我使用的是 Cocos2dx 3.8 w/ Visual Studio 2013。我感觉链接器选项中的某处有一些设置可以解决这个问题,但我不确定。

将不胜感激。

好的,我找到答案了。

默认的cocos2dx win32项目解决方案包括:

  • 您的项目
  • libcocos2d
  • libbullet
  • libbox2d
  • librecast;和
  • 利伯斯平

我删除了除我自己的项目之外的所有其他项目,并将 libcocos2d.lib 添加到链接器 > 输入 > 附加依赖项。该库由所有其他项目组成。

为了调试,我只是将libcocos2d的.dll和.pdb复制到文件夹中。 (我确定我可以稍后自动执行此操作。)

我不再 运行 陷入这个问题,我自己的 .pdb(在干净构建之后)现在是 10MB。