QT跨平台开发(windows、mac)中.pro文件设置

方法一: 在配置前面加上平台标识符的前缀

cpp 复制代码
# windows
win32:INCLUDEPATH += F:/Dev/ffmpeg-4.3.2/include
win32:LIBS += -LF:/Dev/ffmpeg-4.3.2/lib \
              -lavcodec \
              -lavdevice \
              -lavfilter \
              -lavformat \
              -lavutil \
              -lpostproc \
              -lswscale \
              -lswresample
 
# mac
macx:INCLUDEPATH += /usr/local/Cellar/ffmpeg/4.3.2/include
macx:LIBS += -L/usr/local/Cellar/ffmpeg/4.3.2/lib \
            -lavcodec \
            -lavdevice \
            -lavfilter \
            -lavformat \
            -lavutil \
            -lpostproc \
            -lswscale \
            -lswresample \
            -lavresample
 
# linux
# linux:INCLUDEPATH += ...
# linux:LIBS += ...

或使用 大括号 简化:

cpp 复制代码
# windows
win32 {
    INCLUDEPATH += F:/Dev/ffmpeg-4.3.2/include
    LIBS += -LF:/Dev/ffmpeg-4.3.2/lib \
            -lavcodec \
            -lavdevice \
            -lavfilter \
            -lavformat \
            -lavutil \
            -lpostproc \
            -lswscale \
            -lswresample
}
 
# mac
macx {
    INCLUDEPATH += /usr/local/Cellar/ffmpeg/4.3.2/include
    LIBS += -L/usr/local/Cellar/ffmpeg/4.3.2/lib \
            -lavcodec \
            -lavdevice \
            -lavfilter \
            -lavformat \
            -lavutil \
            -lpostproc \
            -lswscale \
            -lswresample \
            -lavresample
}

方法二:将公共信息抽取成变量,然后使用$${}去访问

使用$${}去访问

cpp 复制代码
# mac
macx {
    FFMPEG_HOME = /usr/local/Cellar/ffmpeg/4.3.2
    INCLUDEPATH += $${FFMPEG_HOME}/include
    LIBS += -L$${FFMPEG_HOME}/lib \
            -lavcodec \
            -lavdevice \
            -lavfilter \
            -lavformat \
            -lavutil \
            -lpostproc \
            -lswscale \
            -lswresample \
            -lavresample
}
  • message()可以用来打印
  • $${}可以用来取值: .pro 中定义的变量
  • $$()可以用来取值 系统环境变量 中的变量
相关推荐
风中月隐2 分钟前
C语言中以坐标的方式图解“字母金字塔”的绘制
c语言·开发语言·算法·字母金子塔·坐标图解法
Arva .6 分钟前
说说线程的生命周期和状态
java·开发语言
1001101_QIA9 分钟前
C++中不能复制只能移动的类型
开发语言·c++
tryxr14 分钟前
HashTable、HashMap、ConcurrentHashMap 之间的区别
java·开发语言·hash
serendipity_hky16 分钟前
【go语言 | 第5篇】channel——多个goroutine之间通信
开发语言·后端·golang
无事好时节19 分钟前
Linux 线程
java·开发语言·rpc
源代码•宸33 分钟前
分布式缓存-GO(简历写法、常见面试题)
服务器·开发语言·经验分享·分布式·后端·缓存·golang
A尘埃40 分钟前
Java业务场景(高并发+高可用+分布式)
java·开发语言·分布式
晨曦夜月43 分钟前
头文件与目标文件的关系
linux·开发语言·c++