【问题标题】:How can I use environment variable in a Qt qmake file (Windows)?如何在 Qt qmake 文件(Windows)中使用环境变量?
【发布时间】:2014-10-29 02:11:49
【问题描述】:

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

XXX_ENV H:\xxx

我可以看到

H:\xxx

当我运行命令时

回显 %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

然后我可以像这样使用目录 H:\XXX\include 下的头文件“aaa.h”:

#include <aaa.h>

但我不想在 qmake 文件中写绝对路径。所以我设置了一个Windows环境变量(不是qmake文件的变量)XXX_ENV,它的值是“H:\XXX”(或“H:/XXX”)。

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

我试过了,但是没用。

【问题讨论】:

  • @lpapp 谢谢你的回答,我想问题已经解决了。
  • 在qmake中使用系统环境变量,只需写成$$(XXX_ENV)而不是$${XXX_ENV}即可。

标签: qt environment-variables qmake


【解决方案1】:

详情请见documentation

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

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

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

您的问题对于“不起作用”的确切含义似乎并不精确,但如果路径中有空格等,您应该使用quote function

报价(字符串)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多