我遇到了Windows CMake/MinGW生成的bug,其中发送到链接器的目标文件数量导致参数列表超过了Windows API允许的最大32k字符。这表现为令人惊讶的无用的“错误运行链接命令:参数不正确”错误。在win32上链接时遇到最大参数长度
有没有人遇到过这个问题,并找到一个解决方法,不涉及重组项目路径或将其拆分成库(因为这两者都是额外的工作)?
例如,我知道ld.exe需要一个@file参数来传递参数,但是当参数变得太长时,可以告诉mingw-make使用这个参数吗?
在msys/sh.exe下运行是否解决了这个限制?
这将有助于知道您正在使用哪个CMake发电机。 MinGW makefiles? MSYS makefiles? nmake makefiles? – 2010-09-16 06:11:59
当参数变得太长时,不要告诉mingw-make使用@response文件,为什么不直接使用它们并节省麻烦? – Reinderien 2010-09-16 06:25:30
@Jack:MingGW makefiles,但它也没有代码块项目(也基于MinGW)。我不认为这个项目建立在msys上,但我会测试。 @Reinderien:因为在较小的链接上很难调试链接器错误(因为命令不会显示使VERBOSE = 1下的文件/参数) – SpliFF 2010-09-16 06:32:49