QT在pro工程文件里进行条件判断

举报
DS小龙哥 发表于 2021/12/09 22:47:53 2021/12/09
【摘要】 在使用QT进行开发时,经常遇到一份工程代码在不同的平台进行编译、比如:  Android、windows、Linux系统、嵌入式linux系统等。或者一份工程代码编译64位、32位不同的版本。 如果这一份工程代码里有所附带针对平台专用的外部的链接库或者一些头文件、配置文件等等,为方便在同一份工程里进行编译,可以在pro文件里...

在使用QT进行开发时,经常遇到一份工程代码在不同的平台进行编译、比如:  Android、windows、Linux系统、嵌入式linux系统等。或者一份工程代码编译64位、32位不同的版本。

如果这一份工程代码里有所附带针对平台专用的外部的链接库或者一些头文件、配置文件等等,为方便在同一份工程里进行编译,可以在pro文件里写上条件判断,实现系统区分。

例如:


  
  1. DEFINES += ANDROID_APP #如果想编译Android版本就执行这行代码,否则就注释掉
  2. if(contains(DEFINES,ANDROID_APP)) {
  3. message('运行Android版本')
  4. #指定库文件的路径
  5. LIBS += -L$$PWD/ffmpeg_android_arm64 -lavcodec
  6. LIBS += -L$$PWD/ffmpeg_android_arm64 -lavfilter
  7. LIBS += -L$$PWD/ffmpeg_android_arm64 -lavutil
  8. LIBS += -L$$PWD/ffmpeg_android_arm64 -lavdevice
  9. LIBS += -L$$PWD/ffmpeg_android_arm64 -lavformat
  10. LIBS += -L$$PWD/ffmpeg_android_arm64 -lpostproc
  11. LIBS += -L$$PWD/ffmpeg_android_arm64 -lswscale
  12. LIBS += -L$$PWD/ffmpeg_android_arm64 -lswresample
  13. #指定头文件的路径
  14. INCLUDEPATH+=$$PWD/ffmpeg_android_arm64/include
  15. contains(ANDROID_TARGET_ARCH,arm64-v8a) {
  16. ANDROID_EXTRA_LIBS = \
  17. $$PWD/ffmpeg_android_arm64/libavcodec.so \
  18. $$PWD/ffmpeg_android_arm64/libavfilter.so \
  19. $$PWD/ffmpeg_android_arm64/libavformat.so \
  20. $$PWD/ffmpeg_android_arm64/libavutil.so \
  21. $$PWD/ffmpeg_android_arm64/libpostproc.so \
  22. $$PWD/ffmpeg_android_arm64/libswresample.so \
  23. $$PWD/ffmpeg_android_arm64/libswscale.so \
  24. $$PWD/ffmpeg_android_arm64/libavdevice.so \
  25. $$PWD/ffmpeg_android_arm64/libclang_rt.ubsan_standalone-aarch64-android.so
  26. }
  27. }else{
  28. message('运行桌面版本')
  29. #指定库的路径
  30. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavcodec
  31. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavfilter
  32. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavutil
  33. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavdevice
  34. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavformat
  35. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lpostproc
  36. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lswscale
  37. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lswresample
  38. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lx264
  39. unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib
  40. #制定头文件的路径
  41. INCLUDEPATH+=$$PWD/ffmpeg_x64_shared/include
  42. }

 

文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaolong.blog.csdn.net/article/details/104867233

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。