Qt项目文件没有看到环境变量
我在定制的Linux发行版上。 我试图从Qt项目文件(使用message()
指令)打印一个环境变量,该环境变量正确地打印在shell中。当qmake从同一个shell实例运行时,在打印的消息中看起来像变量是空的。Qt项目文件没有看到环境变量
我使用的命令message($$(ENVI_VAR))
其中根据Qt的网站,QMAKE运行时应该得到的变量的值(也有个$(ENVI_VAR)
语法,而不是被评估时,的Makefile运行)
我错过了什么?
感谢
编辑: 其实,不仅qmake
,但每一个过程中,我跑,也是一个脚本执行,看不到的环境变量。只有壳可以。
我只定义的变量在.bashrc
文件,但我缺少的值被用作.pro
文件内自定义变量的export
通常全局变量。我将放在Qt文档中,具体细节如何操作:
“变量可以用来存储环境变量的内容,这些可以在qmake运行的时候进行评估,或者包含在当项目建成产生的Makefile评价
为了获得环境价值的内容时qmakeis运行,使用$$(...)操作:
DESTDIR = $$(PWD)
message(The project will be installed in $$DESTDIR)
在上面的分配,在处理项目文件时读取PWD环境变量的值
为了获得在时间的环境值的内容处理时所生成的生成文件,使用$(...)运算符:
DESTDIR = $$(PWD)
message(The project will be installed in $$DESTDIR)
DESTDIR = $(PWD)
message(The project will be installed in the value of PWD)
message(when the Makefile is processed.)
在上述分配,PWD的值被立即读取当处理项目文件时,在生成的Makefile中将$(PWD)分配给DESTDIR。这使得构建过程更加灵活,只要环境变量设置正确时的Makefile处理“
这个问题最终导致与linux相关,而不是与Qt相关。对不起,我不知道如何关闭这个话题 – nyarlathotep108 2014-10-07 14:21:25
在message()
需要使用不同的符号来表示某种原因:
message(DESTDIR: ($$DESTDIR))
我有这样的问题今天。只有在Qt的mailing list看着QMAKE的.pro文件的实例解决了另一个可能的问题 - clue variables:
# ${VAR} notation allows to append the contents of the variable to another value
# without separating the two with a space
isEmpty(DESTDIR): DESTDIR = $${IDE_BUILD_TREE}/lib/qtcreator/plugins
没有这种记号我得到空DESTDIR
变量。
你试过$$系统(echo $ ENVI_VAR)来获取var的值吗? – 2014-10-01 10:54:01
你如何以及在哪里设置'ENVI_VAR'? – vahancho 2014-10-01 10:54:49
@vahancho in。bashrc – nyarlathotep108 2014-10-01 12:41:35