在使用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/ff