一个项目文件是用来告诉qmake关于为这个应用程序创建makefile所需要的细节。例如,一个源文件和头文件的列表、任何应用程序特定配置、例如一个必需要连接的额外库、或者一个额外的包含路径,都应该放到项目文件中。

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

Qt中根据不同版本号使用不同源码(qt不同版本有什么区别)  Qt qmake 第1张

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=newQMap;
  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);

小结:在Qt工程文件中根据不同版本号使用不同源码的内容介绍完了,简单的介绍了一下,希望对你有帮助吧。

转载请说明出处
知优网 » Qt中根据不同版本号使用不同源码(qt不同版本有什么区别)

发表评论

您需要后才能发表评论