1

我正在尝试使用nmake. 但是当我尝试这个时,我得到以下链接错误。

LINK:致命错误 LNK1123:转换为 COFF 时失败:文件无效或损坏

据我所知,这是由于 .NET 框架版本(我使用的是 .NET 4.5)造成的,当我在 VS2010 中编译 c++ 项目时出现相同的链接错误。为了摆脱它,我按照这篇文章中的建议禁用了增量链接。

但是当我nmake从 VS 命令行运行时,我不知道该怎么做。我必须在配置时提及它还是可以将它作为参数传递给 nmake ?

4

2 回答 2

1

这是一个链接器标志,因此您需要将其传递给链接器而不是“nmake”。也就是说,在从命令行构建时,在您的 Windows makefile 中,您需要找到链接器调用并在其中传递参数。伪代码如下:

富:$(LD_COMMAND)/增量:否

您可以打开一个 qmake 项目文件并编写以下内容:

QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO

然后,您可以调用 qmake 命令,并查看生成的 Makefile。然后查找“/INCREMENT:NO”,同样,如果您以不同的方式创建它,则需要将其放入您的 Makefile 中。

否则,如果你为 Makefile 生成 qmake,它只会工作,只要你为你的工具链和环境选择适当的规范文件。

于 2014-01-06T00:52:09.053 回答
0

根据mkspecs/win32-msvc2010/qmake.confQt 4 和 5QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO已经存在。因此,如果您在发布模式下编译 Qt,您将面临一些其他问题。

于 2014-01-05T13:42:30.350 回答