3

我使用 Qt Creator 3.4.2 for Windows 和 MSVC2013 编译器。当我构建项目时,我收到一个错误:

LNK1158: cannot run 'rc.exe'

我设法通过添加来修复它

"C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin"

到PATH变量下

Projects -> Build Environment

但我需要通过编辑 .pro 文件来修改 PATH 变量。这将使在另一台计算机上打开和构建我的项目变得更加容易,因为所有路径都将存储在 .pro 文件中。此解决方案不起作用:

PATH += "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin"

有可能吗?

4

1 回答 1

2

你有这样的错误很奇怪,因为 Qt Creator 应该检测 MSVC 编译器并在适当的环境中构建项目。Qt Creator 知道它应该运行所需的批处理文件来准备 VS 命令提示符控制台的环境,例如C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat x86


无论如何,可以编写qmake项目文件 ( .pro) 来创建在实际项目编译之前运行任何自定义 shell 命令的 Makefile。当qmake处理.pro文件时,它只创建 Makefiles。然后编译由其他 make build 工具完成。Qt Creator 使用它的jommake 实用程序。从 VS 控制台可以运行nmake.

Make 实用程序根据 Makefiles 规则中的指定运行不同的工具。PATH可以使用设置变量的构建命令创建额外的虚假目标。主要目标应该取决于这个目标。

文件中的以下行.pro创建了这样的规则:

QMAKE_EXTRA_TARGETS += customtarget1

customtarget1.target = dummy
customtarget1.commands = set PATH=C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Bin;$(PATH)

PRE_TARGETDEPS += dummy

因此,在处理 Makefile 期间,第一个目标是dummy. 它的“构建”命令集PATH。然后所有其他工具在该环境中运行。

于 2015-11-01T23:31:40.893 回答