本仓库中的文档用于 macOS x64 上的 BesLyric-for-X 的开发环境配置。
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
返回主分支。
- 本文档可能不提供通过编译源码来配置环境的方法;
- 本文档可能不提供有关已结束支持的操作系统和软件的内容;
- BesLyric-for-X 仅支持 Qt 5.12.4 及更高版本。
按照本文档进行配置后,通过测试的操作系统与开发环境的版本组合:
OS & Kernel [1] | Compiler | CLT [2] | Qt | SDL | FFmpeg | SSL Impl. |
---|---|---|---|---|---|---|
Mac OS X 10.15.6 19G73 & Darwin Kernel Version 19.6.0 | Apple clang version 11.0.3 (clang-1103.0.32.62) | 11.5.0.0.1.1588476445 | 5.12.9 | 2.0.12 | ffmpeg version 4.3.1 built with Apple clang version 11.0.3 (clang-1103.0.32.62) | LibreSSL 2.8.3 |
Mac OS X 10.14.6 18G103 & Darwin Kernel Version 18.7.0 | Apple LLVM version 10.0.1 (clang-1001.0.46.4) | 10.3.0.0.1.1562985497 | 5.12.9 | 2.0.12 | ffmpeg version 4.3.1 built with Apple clang version 11.0.0 (clang-1100.0.33.17) | LibreSSL 2.6.5 |
Mac OS X 10.13.6 17G65 & Darwin Kernel Version 17.7.0 | Apple LLVM version 10.0.0 (clang-1000.10.44.4) | 10.1.0.0.1.1539992718 | 5.12.9 | 2.0.12 | ffmpeg version 4.3.1 built with Apple LLVM version 10.0.0 (clang-1000.11.45.5) | LibreSSL 2.2.7 |
在 macOS 平台,需要使用 Terminal 启动 Qt Creator 以使其持有的PATH
环境变量包含 HomeBrew 所安装的二进制程序所在的文件夹的路径$(brew --prefix)/bin
[3] [4] [5] [6] [7] ,进而使用 HomeBrew 安装的pkg-config
自动配置 BesLyric-for-X 所需的第三方库。
Command Line Developer Tools 是一个集合,包含大量的开发工具,例如编译器( Clang )、构建工具( Make )、解析器( YACC )、解释器( Python )和版本控制系统( Git 、 SVN )。
在 macOS 上进行 Qt 开发仅需安装 CLT ,不需要安装 Xcode 。可通过以下两种方法安装 CLT :
- 在 Terminal 中输入
xcode-select --install
以进行在线安装 [8] ; - 从 More Software Downloads - Apple Developer 下载离线安装程序。
Homebrew 是一个用于 macOS 的包管理器。有以下两种安装方法:
$ /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
- 使用 tuna 提供的 formula 索引的镜像 [11] 和二进制预编译包的镜像 [12] (对于 zsh 用户,记得将
~/.bash_profile
替换为~/.zshenv
,否则需要每次进入操作系统后都执行一次source ~/.bash_profile
[13] )。
从 Index of /archive/qt 下载安装程序。安装时记得勾选用于 macOS 的预编译组件,例如“Qt / Qt 5.15.0 / macOS”。
安装 Qt 和 Qt Creator:
$ brew install qt && \
brew cask install qt-creator
安装 SDL 2 、 FFmpeg 4 和 pkg-config :
$ brew install sdl2 ffmpeg pkg-config
安装后能在/usr/local/include/
和/usr/local/lib/
下找到相关文件(以libavcodec
为例):
$ find -L /usr/local/include /usr/local/lib \( -type f -o -type l \) -name "*avcodec*" -exec ls -l {} \;
-rw-r--r-- 1 mac staff 148465 Jul 11 18:39 /usr/local/include/libavcodec/avcodec.h
lrwxr-xr-x 1 mac admin 53 Aug 23 12:30 /usr/local/lib/libavcodec.58.91.100.dylib -> ../Cellar/ffmpeg/4.3.1/lib/libavcodec.58.91.100.dylib
lrwxr-xr-x 1 mac admin 53 Aug 23 12:30 /usr/local/lib/pkgconfig/libavcodec.pc -> ../../Cellar/ffmpeg/4.3.1/lib/pkgconfig/libavcodec.pc
lrwxr-xr-x 1 mac admin 39 Aug 23 12:30 /usr/local/lib/libavcodec.a -> ../Cellar/ffmpeg/4.3.1/lib/libavcodec.a
lrwxr-xr-x 1 mac admin 43 Aug 23 12:30 /usr/local/lib/libavcodec.dylib -> ../Cellar/ffmpeg/4.3.1/lib/libavcodec.dylib
lrwxr-xr-x 1 mac admin 46 Aug 23 12:30 /usr/local/lib/libavcodec.58.dylib -> ../Cellar/ffmpeg/4.3.1/lib/libavcodec.58.dylib
也能使用pkg-config
获取相关的构建参数:
$ pkg-config --cflags --libs libavcodec
-I/usr/local/Cellar/ffmpeg/4.3.1/include -L/usr/local/Cellar/ffmpeg/4.3.1/lib -lavcodec
- ^
sw_vers
How to check what macOS version you have | Digital Citizen
https://www.digitalcitizen.life/macos-version - ^ Determine xcode command line tools version - Ask Different
https://apple.stackexchange.com/questions/180957/determine-xcode-command-line-tools-version - ^ brew(1) – The Missing Package Manager for macOS — Homebrew Documentation
https://docs.brew.sh/Manpage#--prefix---unbrewed-formula- - ^ Qt Creator doesn't recognize PATH-variable on Mac OSX | Qt Forum
https://forum.qt.io/topic/5716/qt-creator-doesn-t-recognize-path-variable-on-mac-osx - ^ lion - How can I have Qt Creator to recognize my environment variables? - Ask Different
https://apple.stackexchange.com/questions/54765/how-can-i-have-qt-creator-to-recognize-my-environment-variables - ^ Linux environment variable not recognized by qmake in QtCreator - Stack Overflow
https://stackoverflow.com/questions/45368010/linux-environment-variable-not-recognized-by-qmake-in-qtcreator - ^ macos - Adding /usr/local/bin (homebrew) to QtCreator search path for pkg-config on Mac OSX - Stack Overflow
https://stackoverflow.com/questions/17129349/ - ^ How to Install Command Line Tools in Mac OS X (Without Xcode)
https://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/ - ^ Homebrew国内如何自动安装(国内地址) - 知乎
https://zhuanlan.zhihu.com/p/111014448 - ^ HomebrewCN: Homebrew 国内安装脚本
https://gitee.com/cunkai/HomebrewCN/ - ^ homebrew | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
https://mirror.tuna.tsinghua.edu.cn/help/homebrew/ - ^ homebrew-bottles | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
https://mirrors.tuna.tsinghua.edu.cn/help/homebrew-bottles/ - ^ Yes, it's called
~/.zshenv
...
Is there anything in Zsh like bash_profile? - Stack Overflow
https://stackoverflow.com/questions/23090390/is-there-anything-in-zsh-like-bash-profile#answer-23091184
- https://doc.qt.io/qt-5/macos.html
- https://www.macissues.com/2014/05/26/what-are-the-command-line-developer-tools-in-os-x/
- https://gist.github.com/shoogle/750a330c851bd1a924dfe1346b0b4a08
- 本文档在 VSCode 上使用 Markdown All in One 辅助编辑。