Qt中根据不同版本号使用不同源码
创始人
2024-08-01 06:01:11
0

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

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...