C++ 扩展的命令行太长
在使用MSVC9时,我在链接阶段遇到了一个问题。它说: NMAKE:致命错误U1095:扩展的命令行link.exe。太久C++ 扩展的命令行太长,c++,linker,nmake,C++,Linker,Nmake,在使用MSVC9时,我在链接阶段遇到了一个问题。它说: NMAKE:致命错误U1095:扩展的命令行link.exe。太久 哈哈,这太糟糕了,但我们需要更多的信息来回答你的问题。对于初学者来说,基本上是说调用链接器的命令行比cmd.exe本身允许的缓冲区大。如果我没记错的话,可能有一种方法可以让命令shell在命令行上使用更大的缓冲区。或者,您也可以将shell更改为windows powershell,看看这是否可行。对于工具中固定的命令行长度,您无能为力。您可能希望尝试将对象文件合并到几个库
哈哈,这太糟糕了,但我们需要更多的信息来回答你的问题。对于初学者来说,基本上是说调用链接器的命令行比cmd.exe本身允许的缓冲区大。如果我没记错的话,可能有一种方法可以让命令shell在命令行上使用更大的缓冲区。或者,您也可以将shell更改为windows powershell,看看这是否可行。对于工具中固定的命令行长度,您无能为力。您可能希望尝试将对象文件合并到几个库中,然后执行最终链接并将这些库链接在一起。这将在Makefile中引入另一个步骤,但会绕过命令行过长的错误。您可以让nmake将命令行参数写入文件,然后使用link选项从文件中读取参数 寻找“内联文件”,例如 我已经很久没有这样做了,但我记得它的用法是:
foo.exe : foo1.obj foo2.obj foo3.obj
link.exe @<<
foo1.obj
foo2.obj foo3.obj
... more arguments, macros etc on one or more lines
<<
rem other commands go here if you want
foo.exe:foo1.obj foo2.obj foo3.obj
link.exe@你能举例说明它们的用法吗?msdn页面中没有可靠的示例。