QTはproエンジニアリングファイルで条件判断を行う

2219 ワード

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
}