
macOS 安裝 Qt 遇到的問題:
Qt 5.14.X 版本及以前版本的UI 在 macOS Big Sur 不能夠正常運行,20年8月發(fā)行的 Qt 5.15.1 以后的版本在 macOS Big Sur 下是可以正常運行的。所以使用 macOS Big Sur 的小伙伴可以選擇安裝 Qt 5.15.1 或者之后更新的版本。
新版的 Qt 不再支持離線安裝,需要下載 online 安裝包進行安裝,或者使用 homebrew 安裝,下面介紹 online 安裝方式。
一、下載 QtCreator online 安裝包
下載地址:https://download.qt.io/archive/online_installers/4.0/
選擇一個 macOS online 安裝包(我選擇的是 qt-unified-mac-x64-4.0.0-online.dmg):

1、安裝需要先登錄 Qt 賬號(沒有賬號需要注冊一個):

2、勾選同意條款,點擊繼續(xù):

3、點擊繼續(xù),速度有點慢,需要等待片刻(如果失敗可以嘗試翻墻后返回重試):

4、任選一種,點擊繼續(xù):

5、設置 Qt 安裝路徑(安裝路徑不能有中文字符),選擇安裝方式:

6、選擇 Qt 版本和插件,點擊繼續(xù)(Sources是源碼,不看源碼可以不勾選):

7、同意協(xié)議,點擊繼續(xù):

8、點擊安裝,完成等待安裝:


9 、安裝完成,點擊Done,啟動 Qt:

二、創(chuàng)建 QtCreator 工程
1、打開 Qt,選擇【菜單欄】文件 -> 新建文件或項目(? N):

2、Application -> Qt Widgets Application -> Choose… :

3、設置項目名稱和項目保存路徑,點擊下一步:

4、Build System 選擇 qmake,點擊下一步:

5、Qt 會默認創(chuàng)建一個MainWindow,點擊下一步:

6、直接下一步:

7、選擇 clang 編譯器,點擊下一步:

8、直接點擊完成:

9、點擊運行,出現(xiàn) MainWindow 說明工程創(chuàng)建成功。

三、在 Qt 中引入 FFmpeg
已經(jīng)成功創(chuàng)建了一個名稱為 01_FFmepgExample 的項目,接下來介紹一下如何在這個工程中引用 FFmpeg(如果沒有安裝 FFmpeg,先下載安裝 FFmpeg)。
1、01_FFmepgExample 工程目錄結(jié)構(gòu)如下:
$ tree
.
|____01_FFmpegExample.pro
|____mainwindow.h
|____01_FFmpegExample.pro.user
|____01_FFmpegExample.pro.autosave
|____mainwindow.ui
|____mainwindow.cpp
|____main.cpp
2、在 Qt 中雙擊打開 01_FFmpegExample.pro 文件,在 01_FFmpegExample.pro 文件后面添加 FFmpeg 頭文件和動態(tài)鏈接庫(我本地的 FFmpeg 安裝位置: /usr/local/ffmpeg):
# 設置 FFmpeg 頭文件的位置
INCLUDEPATH += -I /usr/local/ffmpeg/include
# 設置 FFmpeg 庫的位置 -L:搜索路徑 -l:link庫
# 需要去掉庫名稱前面 lib 三個字符,去掉擴展名
# 默認優(yōu)先鏈接動態(tài)庫
LIBS += -L /usr/local/ffmpeg/lib -lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lswresample \
-lswscale
3、打開 main.cpp 導入頭文件 #include <libavcodec/avcodec.h>:
// main.cpp
#include "mainwindow.h"
#include <QApplication>
// 在 Qt 中打印不能使用 C++ 標準輸出
#include <QDebug>
// FFmpeg 是 C 語言編寫的,C++ 不能直接導入 C 語言函數(shù)
extern "C" {
#include <libavcodec/avcodec.h>
}
int main(int argc, char *argv[])
{
// 打印 FFmpeg 版本號
qDebug() << av_version_info();
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
運行輸出結(jié)果:
21:57:27: Starting /Users/mac/Desktop/QtWorkSpace/build-01_FFmpegExample-Desktop_Qt_6_0_2_clang_64bit-Debug/01_FFmpegExample.app/Contents/MacOS/01_FFmpegExample ...
4.3.2
Qt 工程引用 FFmpeg 成功!