QT在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
}
发布了20 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/xiaolong1126626497/article/details/104867233