2015-06-12 62 views
0

作为我在Windows上构建maven的最后一步,它尝试通过链接大约1500个目标文件来创建dll文件。看起来是这样的:当在Windows命令提示符中链接.obj文件时,'命令行太长'

cl.exe foo.dll (around 1500 .obj files) (couple of other statically linked libraries) 

构建失败,只是一个说法: The command line is too long.

曾试图寻找解决方案hereherehere但解决方案是特定的,而不是更多的东西一般更多的上下文。任何人都可以提出我能做些什么吗?

+0

重新组织您的程序。如果你将一些1500个目标文件打包到库中,那会更好...... – DavidPostill

回答

1

我想我得到了我的问题的答案。 我可以将命令的参数绑定在.rsp文件中,然后在我的命令提示符下用可执行文件启动它的路径('@')。 所以,对于这个命令:

cl.exe foo.dll (around 1500 .obj files) (couple of other statically linked libraries) 

我把这个

foo.dll (around 1500 .obj files) (couple of other statically linked libraries) 

一个文件中说makeDLL.txt。通过改变它的扩展名(makeDLL.rsp)将其更改为一个.rsp文件,并火起来这个命令:

cl.exe @<full-path of makeDLL.rsp> 

这为我工作。

+0

感谢这一次,它让我成为了一天;)。这里还提到[这里](https://github.com/ninja-build/ninja/issues/53)。还与此[问题]相关(https://mcuoneclipse.com/2015/03/29/solving-the-8192-character-command-line-limit-on-windows/) – BPL

相关问题