diff --git a/README.md b/README.md index b34e276..6ca2800 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ launcher 参数 [Linux](examples/docs/Build_Linux.md) -Windows +[Windows](examples/docs/Build_Windows.md) ## Credits diff --git a/examples/docs/Build_Linux.md b/examples/docs/Build_Linux.md index 98a5940..f4930a1 100644 --- a/examples/docs/Build_Linux.md +++ b/examples/docs/Build_Linux.md @@ -1,28 +1,19 @@ 在 Linux 下编译 Nekoray -### 准备工作 +### git clone 源码 ``` -git submodule init -git submodule update +git clone https://github.com/MatsuriDayo/nekoray.git --recursive ``` -### CMake 参数 - -| CMake 参数 | 默认值 | 含义 | -|-------------------------|-----|-------------------------| -| QT_VERSION_MAJOR | 5 | QT版本 | -| NKR_NO_EXTERNAL | | 不包含外部C++依赖(如ZXing/gRPC) | -| NKR_NO_GRPC | | 不包含gRPC | -| NKR_CROSS | | | - ### 简单编译法 条件: -1. C++ 依赖: `qt5 protobuf yaml-cpp zxing-cpp` 已用包管理器安装,并符合版本要求 -2. Qt 版本必须大于等于 5.15 -3. 系统为 `x86-64-linux-gnu` +1. C++ 依赖:`protobuf yaml-cpp zxing-cpp` 已用包管理器安装,并符合版本要求 +2. 已安装 `qtbase` `qtsvg` `qttools` `qtx11extras` +3. Qt 版本必须大于等于 5.15 +4. 系统为 `x86-64-linux-gnu` ```shell mkdir build @@ -37,7 +28,16 @@ ninja ### 复杂编译法 -C++ 部分 +#### CMake 参数 + +| CMake 参数 | 默认值 | 含义 | +|-------------------------|-----|-------------------------| +| QT_VERSION_MAJOR | 5 | QT版本 | +| NKR_NO_EXTERNAL | | 不包含外部C++依赖(如ZXing/gRPC) | +| NKR_NO_GRPC | | 不包含gRPC | +| NKR_CROSS | | | + +#### C++ 部分 当您的发行版没有上面几个 C++ 依赖包,或者版本不符合要求时,可以参考 libs 文件夹内的默认编译脚本自行编译。 @@ -45,13 +45,17 @@ C++ 部分 条件: -1. C++ 依赖: `qt5` 已用包管理器安装,并符合版本要求 -2. Qt 版本必须大于等于 5.15 +1. Qt 版本必须大于等于 5.15 -示例 +首先编译安装C++依赖(这一步可能要挂梯) ```shell ./libs/build_deps_all.sh +``` + +然后编译本体 + +```shell mkdir build cd build cmake -GNinja .. @@ -60,7 +64,7 @@ ninja 编译完成后得到 `nekoray` -Go 部分 +#### Go 部分 1. 把 `Matsuridayo/Matsuri` `Matsuridayo/v2ray-core` 置于 `../` 2. 进入 `go` 文件夹 `go build` 得到 `nekoray_core`。 diff --git a/examples/docs/Build_Windows.md b/examples/docs/Build_Windows.md new file mode 100644 index 0000000..b15ac37 --- /dev/null +++ b/examples/docs/Build_Windows.md @@ -0,0 +1,50 @@ +在 Windows 下编译 Nekoray + +### git clone 源码 + +``` +git clone https://github.com/MatsuriDayo/nekoray.git --recursive +``` + +### 安装 Visual Studio + +从微软官网安装,可以使用 2019 和 2022 版本,安装 Win32 C++ 开发环境。 + +安装好后可以在「开始」菜单找到 `x64 Native Tools Command Prompt` + +本文之后的命令均在该 cmd 内执行。`cmake` `ninja` 等工具使用 VS 自带的即可。 + +### 下载 Qt SDK + +目前使用的版本是 Qt 5.15.2 其他版本未测试 + +在此下载 `qtbase` `qtsvg` `qttools` 的包并解压到同一个目录。 + +https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5152/qt.qt5.5152.win64_msvc2019_64/ + +将 bin 目录添加到环境变量。 + +### C++ 部分编译 + +首先编译安装C++依赖(这一步可能要挂梯) + +```shell +bash ./libs/build_deps_all.sh +``` + +然后编译本体(根据你的 QT Sdk 的位置替换命令) + +```shell +mkdir build +cd build +cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=D:/path/to/qt/5.15.2/msvc2019_64 .. +ninja +``` + +编译完成后得到 `nekoray.exe` + +最后运行 `windeployqt nekoray.exe` 自动复制所需 DLL 等文件到当前目录 + +### Go 部分编译 + +同 Linux