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

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

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

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

例如:


      DEFINES += ANDROID_APP   #如果想编译Android版本就执行这行代码,否则就注释掉
      if(contains(DEFINES,ANDROID_APP)) {
         message('运行Android版本')
          #指定库文件的路径
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lavcodec
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lavfilter
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lavutil
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lavdevice
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lavformat
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lpostproc
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lswscale
          LIBS += -L$$PWD/ffmpeg_android_arm64 -lswresample
          #指定头文件的路径
          INCLUDEPATH+=$$PWD/ffmpeg_android_arm64/include
         contains(ANDROID_TARGET_ARCH,arm64-v8a) {
              ANDROID_EXTRA_LIBS = \
                  $$PWD/ffmpeg_android_arm64/libavcodec.so \
                  $$PWD/ffmpeg_android_arm64/libavfilter.so \
                  $$PWD/ffmpeg_android_arm64/libavformat.so \
                  $$PWD/ffmpeg_android_arm64/libavutil.so \
                  $$PWD/ffmpeg_android_arm64/libpostproc.so \
                  $$PWD/ffmpeg_android_arm64/libswresample.so \
                  $$PWD/ffmpeg_android_arm64/libswscale.so \
                  $$PWD/ffmpeg_android_arm64/libavdevice.so \
                  $$PWD/ffmpeg_android_arm64/libclang_rt.ubsan_standalone-aarch64-android.so
          }
      }else{
         message('运行桌面版本')
          #指定库的路径
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavcodec
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavfilter
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavutil
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavdevice
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lavformat
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lpostproc
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lswscale
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lswresample
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib -lx264
          unix:LIBS += -L$$PWD/ffmpeg_x64_shared/lib
          #制定头文件的路径
          INCLUDEPATH+=$$PWD/ffmpeg_x64_shared/include
      }
  
 

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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