如何在Qt Creator的项目文件(.pro)中修改PATH变量

时间:2015-10-14 10:13:08

标签: qt environment-variables qt-creator msvc12

我使用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"

有可能吗?

1 个答案:

答案 0 :(得分: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文件时,它只会创建Makefile。然后编译由其他make构建工具完成。 Qt Creator使用其jom make实用程序。从VS控制台可以运行nmake

Make实用程序根据Makefile规则中的指定运行不同的工具。可以使用设置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。然后所有其他工具都在该环境中运行。