Qt中根据不同版本号使用不同源码

qmake是用来为不同的平台的开发项目创建makefile的Trolltech开发一个易于使用的工具。qmake简化了makefile的生成,所以为了创建一个makefile只需要一个只有几行信息的文件。qmake可以供任何一个软件项目使用,而不用管它是不是用Qt写的,尽管它包含了为支持Qt开发所拥有的额外的特征。

qmake基于一个项目文件这样的信息来生成makefile。项目文件可以由开发者生成。项目文件通常很简单,但是如果需要它是非常完善的。不用修改项目文件,qmake也可以为为Microsoft Visual Studio生成项目。众所周知,qmake里是不提供

 
  
  1. #if (QT_VERSION >= QT_VERSION_CHECK(4, 5, 0))  
  2. // …  
  3. #endif 

这种语法的qmake的语法是

条件{

…执行的动作1…

}else{

…执行的动作2…

}

所以如果要执行根据版本控制的代码可以用

 
  
  1. greaterThan(QT_MAJOR_VERSION, 4)|equals(QT_MAJOR_VERSION,4){  
  2.     greaterThan(QT_MINOR_VERSION, 5)|equals(QT_MINOR_VERSION, 5){   
  3.     message("bla,bla,bla ....")   
  4.     }   
  5. }else{   
  6.     message("pla,pla,pla ....")   
  7. }  

不过需要注意的是,greaterThan和equals是在qmake代码里没有公布的,详细需要看qmake的源代码

 
  
  1. qt/qmake/project.cpp  
  2. if(!qmake_test_functions) {   
  3. qmake_test_functions = new QMap;   
  4. qmake_test_functions->insert("requires", T_REQUIRES);   
  5. qmake_test_functions->insert("greaterThan", T_GREATERTHAN);   
  6. qmake_test_functions->insert("lessThan", T_LESSTHAN);   
  7. qmake_test_functions->insert("equals", T_EQUALS);

你可能感兴趣的:(C++)