2010-04-13 34 views
9

qmake允许通过这样的命令行界面来提供一个变量:qmake:如何通过命令行提供多个变量?

qmake "CONFIG += release" "MY_VAR = hello" 

因此,我可以使用$$MY_VAR一个.pro文件内。但是有可能以这种方式支持多个变量吗?我试过

qmake "CONFIG += release" "MY_VAR = hello" "MY_ANOTHER_VAR = hi" 

但它没有工作(引发错误)。任何提示?

回答

15

问题是误导。您可以提供任意数量的变量。

.pro文件:

 
.... 
message($$VAR1) 
message($$VAR2) 

QMAKE运行:

 
qmake ... "VAR1=VALUE1" "VAR2=VALUE2" 

编译器输出:


09:40:13: Running build steps for project test... 
09:40:13: Starting: "c:\qtsdk\desktop\qt\4.8.1\mingw\bin\qmake.exe" D:\tmp\test\test.pro -r -spec win32-g++ "CONFIG+=declarative_debug" "VAR1=VALUE1" "VAR2=VALUE2" 
Project MESSAGE: VALUE1 
Project MESSAGE: VALUE2 
Project MESSAGE: VALUE1 
Project MESSAGE: VALUE2 
Project MESSAGE: VALUE1 
Project MESSAGE: VALUE2 
09:40:14: The process "c:\qtsdk\desktop\qt\4.8.1\mingw\bin\qmake.exe" exited normally. 
6

qmake可以通过$$()语法访问环境变量(内部变量可以用$${}语法访问)。这可以用来将任意数量的变量传递给qmake。