Skip to content

Latest commit

 

History

History
151 lines (105 loc) · 9.25 KB

README.md

File metadata and controls

151 lines (105 loc) · 9.25 KB

BesLyric-for-X Development Environment Configuration (macOS x64, Chinese only)

简介

本仓库中的文档用于 macOS x64 上的 BesLyric-for-X 的开发环境配置。

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

导航

返回主分支

注意

  • 本文档可能不提供通过编译源码来配置环境的方法;
  • 本文档可能不提供有关已结束支持的操作系统和软件的内容;
  • BesLyric-for-X 仅支持 Qt 5.12.4 及更高版本。

目录

1. 有效性参考

按照本文档进行配置后,通过测试的操作系统与开发环境的版本组合:

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

2. BesLyric-for-X 项目配置

2.1. 环境变量PATH

在 macOS 平台,需要使用 Terminal 启动 Qt Creator 以使其持有的PATH环境变量包含 HomeBrew 所安装的二进制程序所在的文件夹的路径$(brew --prefix)/bin [3] [4] [5] [6] [7] ,进而使用 HomeBrew 安装的pkg-config自动配置 BesLyric-for-X 所需的第三方库。

3. 配置开发环境

3.1. 基础设施

3.1.1. Command Line Developer Tools (CLT)

Command Line Developer Tools 是一个集合,包含大量的开发工具,例如编译器( Clang )、构建工具( Make )、解析器( YACC )、解释器( Python )和版本控制系统( Git 、 SVN )。

在 macOS 上进行 Qt 开发仅需安装 CLT ,不需要安装 Xcode 。可通过以下两种方法安装 CLT :

3.1.2. Homebrew

Homebrew 是一个用于 macOS 的包管理器。有以下两种安装方法:

  • 使用 cunkai 托管在 Gitee 的 Homebrew 国内安装脚本安装 [9] [10]
$ /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] )。

3.2. Qt 5.12.4+

3.2.1. 在线安装程序

Index of /archive/qt 下载安装程序。安装时记得勾选用于 macOS 的预编译组件,例如“Qt / Qt 5.15.0 / macOS”。

3.2.2. HomeBrew

安装 Qt 和 Qt Creator:

$ brew install qt && \
    brew cask install qt-creator

3.3. 第三方库

3.3.1. SDL 2, FFmpeg 4 & pkg-config

安装 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

4. 脚注

  1. ^ sw_vers
    How to check what macOS version you have | Digital Citizen
    https://www.digitalcitizen.life/macos-version
  2. ^ Determine xcode command line tools version - Ask Different
    https://apple.stackexchange.com/questions/180957/determine-xcode-command-line-tools-version
  3. ^ brew(1) – The Missing Package Manager for macOS — Homebrew Documentation
    https://docs.brew.sh/Manpage#--prefix---unbrewed-formula-
  4. ^ 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
  5. ^ 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
  6. ^ 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
  7. ^ macos - Adding /usr/local/bin (homebrew) to QtCreator search path for pkg-config on Mac OSX - Stack Overflow
    https://stackoverflow.com/questions/17129349/
  8. ^ 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/
  9. ^ Homebrew国内如何自动安装(国内地址) - 知乎
    https://zhuanlan.zhihu.com/p/111014448
  10. ^ HomebrewCN: Homebrew 国内安装脚本
    https://gitee.com/cunkai/HomebrewCN/
  11. ^ homebrew | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
    https://mirror.tuna.tsinghua.edu.cn/help/homebrew/
  12. ^ homebrew-bottles | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
    https://mirrors.tuna.tsinghua.edu.cn/help/homebrew-bottles/
  13. ^ 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

5. 参考

6. 其他