簡體   English   中英

Qt項目文件沒有環境變量

[英]Qt project file is not seeing an enviroment variable

我在定制的Linux發行版上。 我正在嘗試從Qt項目文件(使用message()指令)打印一個環境變量,該環境變量已正確打印在外殼中。 當qmake從相同的shell實例運行時,在打印的消息中看起來該變量為空。

我正在使用命令message($$(ENVI_VAR)) ,根據Qt網站,它應該在qmake運行時獲取變量的值(還有$(ENVI_VAR)語法,而在Makefile運行時會對其進行評估)

我想念什么?

謝謝

編輯:實際上,不僅qmake ,而且我運行的每個進程以及腳本執行都看不到環境變量。 只有外殼可以。

我只在.bashrc文件中定義了變量,但是我沒有export

通常,全局變量值用作.pro文件中的自定義變量。 我在這里引用了Qt文檔,其中包含具體細節,具體操作方法如下:

“變量可用於存儲環境變量的內容。可以在運行qmake時對其進行評估,或者將其包含在生成的Makefile中以在構建項目時進行評估。

要在運行qmakeis時獲取環境值的內容,請使用$$(...)運算符:

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

在上述分配中,當處理項目文件時,將讀取PWD環境變量的值。

要在處理生成的Makefile時獲取環境值的內容,請使用$(...)運算符:

 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時正確設置了環境變量,這將使構建過程更加靈活。”

由於某些原因,在message()需要使用不同的符號:

message(DESTDIR: ($$DESTDIR))

我今天有這樣的問題。 僅通過查看Qt 郵件列表中的qmake .pro文件示例即可解決。 另一個可能的問題- 線索變量

# ${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變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM