Lio*_*ung 1 qt qmake environment-variables
我已经设置了这样的环境变量:
XXX_ENV H:\ xxx
我可以看到
H:\ XXX
当我运行命令
echo%XXX_ENV%
在cmd.然后我有一个像这样的Qt .pro文件:
> INCLUDEPATH += ($$(XXX_ENV))/include
Run Code Online (Sandbox Code Playgroud)
但不幸的是INCLUDEPATH不起作用,我不能在H:\ xxx\include中使用那些.h文件
如何在qmake文件中使用环境变量?
---------------------更新---------------------------- -----
可能是我的描述不够详细.
情况就是这样.我在项目中引入了第三方组件.相关文件位于H:\ XXX中,我可以使用H:\ XXX\include中的头文件.所以我的qmake可以像这样写:
INCLUDEPATH += H:/XXX/include
Run Code Online (Sandbox Code Playgroud)
然后我可以使用目录H:\ XXX\include下的头文件"aaa.h",如下所示:
#include <aaa.h>
Run Code Online (Sandbox Code Playgroud)
但我不想在qmake文件中写入绝对路径.所以我选择了一个Windows环境变量(不是qmake文件的变量)XXX_ENV,它的值是"H:\ XXX"(或"H:/ XXX").
我只想知道我可以写INCLUDEPATH + = $$ {XXX_ENV}/include而不是INCLUDEPATH + = H:/ XXX/include
我试了但是没用.
有关详细信息,请参阅文档
变量可用于存储环境变量的内容.这些可以在运行qmake时进行评估,也可以在生成的Makefile中包含,以便在构建项目时进行评估.
要在运行qmake时获取环境值的内容,请使用$$(...)运算符:
DESTDIR = $$(PWD)
message(The project will be installed in $$DESTDIR)
Run Code Online (Sandbox Code Playgroud)
你的问题似乎不确定"究竟什么不行"意味着什么,但如果路径中有空格,你应该使用引用函数等.
引号(字符串)
将整个字符串转换为单个实体并返回结果.这只是将字符串括在双引号中的一种奇特方式.