QTはproエンジニアリングファイルで条件判断を行う
2219 ワード
QTを使用して開発する場合、Android、windows、Linuxシステム、組み込みlinuxシステムなど、異なるプラットフォームでエンジニアリングコードをコンパイルすることがよくあります.または、64ビット、32ビットの異なるバージョンのエンジニアリングコードをコンパイルします.
このエンジニアリングコードにプラットフォーム専用の外部へのリンクライブラリやヘッダファイル、プロファイルなどが付属している場合は、同じエンジニアリングでコンパイルしやすいようにproファイルに条件判断を書いてシステム区分を実現できます.
例:
このエンジニアリングコードにプラットフォーム専用の外部へのリンクライブラリやヘッダファイル、プロファイルなどが付属している場合は、同じエンジニアリングでコンパイルしやすいように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
}