使用 NMAKE 时禁用增量链接

Disabling Incremental Linking when using NMAKE

本文关键字:链接 NMAKE 使用      更新时间:2023-10-16

我正在尝试使用nmake构建Qt。但是当我尝试这样做时,我收到以下链接错误。

链接:致命错误LNK1123:转换为COFF期间失败:文件 无效或损坏

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

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

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

傅: $(LD_COMMAND)/增量:否

你可以打开一个qmake项目文件并写下这个:

QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO

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

否则,只要您为您的工具链和环境选择适当的规范文件,

它就会起作用,前提是您正在为工具链和环境选择适当的规范文件。

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