如何在Qt qmake文件(Windows)中使用环境变量?

时间:2014-10-29 02:11:49

标签: qt environment-variables qmake

我已经设置了这样的环境变量:

  

XXX_ENV H:\ xxx

我可以看到

  

H:\ XXX

当我运行命令

  

echo%XXX_ENV%

在cmd中。 然后我有一个像这样的Qt .pro文件:

> INCLUDEPATH += ($$(XXX_ENV))/include

但不幸的是,INCLUDEPATH无法正常工作,我无法在H:\ xxx \ include

中使用这些.h文件

如何在qmake文件中使用环境变量?

---------------------更新---------------------- -----------

可能是我的描述不够详细。

情况就是这样。我在项目中引入了第三方组件。相关文件位于H:\ XXX中,我可以使用H:\ XXX \ include中的头文件。所以我的qmake可以这样写:

INCLUDEPATH += H:/XXX/include

然后我可以使用头文件" aaa.h"在目录H:\ XXX \ include下面就是这样:

#include <aaa.h>

但我不想在qmake文件中写绝对路径。所以我选择了一个Windows环境变量(不是qmake文件&#39; s变量)XXX_ENV,它的值是&#34; H:\ XXX&#34;(或&#34; H:。/ XXX&#34)

我只想知道我可以写 INCLUDEPATH + = $$ {XXX_ENV} / include 而不是 INCLUDEPATH + = H:/ XXX / include

我尝试了但它没有用。

1 个答案:

答案 0 :(得分:5)

有关详细信息,请参阅documentation

  

变量可用于存储环境变量的内容。这些可以在运行qmake时进行评估,也可以在生成的Makefile中包含,以便在构建项目时进行评估。

     

要在运行qmake时获取环境值的内容,请使用$$(...)运算符:

 DESTDIR = $$(PWD)
 message(The project will be installed in $$DESTDIR)

你的问题似乎不准确,究竟是什么&#34;不起作用&#34;意思是,如果路径中有空格等,你应该使用quote function

  

引号(字符串)

     

将整个字符串转换为单个实体并返回结果。这只是将字符串括在双引号中的一种奇特方式。