Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 扩展的命令行太长_C++_Linker_Nmake - Fatal编程技术网

C++ 扩展的命令行太长

C++ 扩展的命令行太长,c++,linker,nmake,C++,Linker,Nmake,在使用MSVC9时,我在链接阶段遇到了一个问题。它说: NMAKE:致命错误U1095:扩展的命令行link.exe。太久 哈哈,这太糟糕了,但我们需要更多的信息来回答你的问题。对于初学者来说,基本上是说调用链接器的命令行比cmd.exe本身允许的缓冲区大。如果我没记错的话,可能有一种方法可以让命令shell在命令行上使用更大的缓冲区。或者,您也可以将shell更改为windows powershell,看看这是否可行。对于工具中固定的命令行长度,您无能为力。您可能希望尝试将对象文件合并到几个库

在使用MSVC9时,我在链接阶段遇到了一个问题。它说:

NMAKE:致命错误U1095:扩展的命令行link.exe。太久


哈哈,这太糟糕了,但我们需要更多的信息来回答你的问题。对于初学者来说,基本上是说调用链接器的命令行比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页面中没有可靠的示例。