update: README.md

This commit is contained in:
TaurusXin 2024-02-07 22:51:06 +08:00
parent e2d686ab29
commit 33a86db916
Signed by: taurusxin
GPG Key ID: C334DCA04AC2D2CC
1 changed files with 19 additions and 46 deletions

View File

@ -41,63 +41,36 @@ ncmdump file1 file2...
ncmdump -d folder ncmdump -d folder
``` ```
## 依赖库及不同平台编译方法 ## 编译项目
### 依赖库 克隆本仓库
* taglib
### Linux / macOS
```shell ```shell
# CentOS git clone https://github.com/taurusxin/ncmdump.git
yum install taglib-devel
make linux
# Ubuntu / Debian
apt install libtag1-dev
make linux
# macOS with Intel chip
brew install taglib
make macos-intel
# macOS with Apple Silicon (M1 / M2)
brew install taglib
make macos-arm64
``` ```
注意Linux / macOS 为动态库支持Linux 下静态编译需要手动编译 taglib 静态库macOS 原生库不支持静态链接 更新子模块
### Windows
#### MinGW
~~因为部分代码(例如常量引用等)在 msvc 下面编译不通过,本项目需要使用 MinGW 编译~~
已经修改部分代码使得支持 msvc 编译,详见下面的 Visual Studio 部分
下载 mingw-w64 的 Windows 版本,这里推荐从 [winlibs](https://winlibs.com/) 这个网站下载,编译器版本始终跟随上游保持最新
将 mingw64/bin 添加到系统环境变量
taglib 在 Windows 下已经编译好放在项目内,直接执行
```shell ```shell
mingw32-make win32 cd ncmdump
git submodule update --init --recursive
``` ```
生成的二进制程序为静态链接版本,可脱离运行库运行在裸机上 使用 CMake 配置项目。Windows 下若使用 GNU 套件,推荐使用 [msys2](https://www.msys2.org/) 或者 [winlibs](https://winlibs.com/)
#### msys2
```shell ```shell
pacman -Syu # Windows MinGW
git clone https://github.com/taurusxin/ncmdump && cd ncmdump cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -B build
make win32
# Windows MSVC
cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -B build --config Release
# Linux / macOS
cmake -DCMAKE_BUILD_TYPE=Release -B build
``` ```
#### Visual Studio 编译项目
注意**VS的源代码还未上传请先使用 MinGW 编译** ```shell
cmake --build build --target all -j 8
使用 git 切换到 msvc 分支,使用 Visual Studio 打开 ncmdump.sln编译即可 ```