mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-20 07:00:07 +08:00
* Create Build_Linux_fa.md The Persian translation of the file Build_Linux.md has been added. * Update README_fa.md * change path of file * Update README_fa.md * Farsi Docs updated * HookJS doc fixed
75 lines
3.5 KiB
Markdown
75 lines
3.5 KiB
Markdown
کامپایل کردن nekoray در لینوکس
|
||
## کلون کردن کد با گیت
|
||
```
|
||
git clone https://github.com/MatsuriDayo/nekoray.git --recursive
|
||
```
|
||
## روش کامپایل ساده
|
||
|
||
پیشنیازها:
|
||
|
||
1. وابستگیهای C++ به نامها: `protobuf yaml-cpp zxing-cpp` باید با مدیریت بسته نصب شده باشند و با نسخههای مورد نیاز سازگار باشند.
|
||
2. باید `qtbase`، `qtsvg`، `qttools`، `qtx11extras` نصب شده باشد.
|
||
3. Qt با نسخه `5.12.x` یا `5.15.x` باید نصب شده باشد.
|
||
4. سیستم باید `x86-64-linux-gnu` باشد.
|
||
```shell
|
||
mkdir build
|
||
cd build
|
||
cmake -GNinja ..
|
||
ninja
|
||
```
|
||
پس از کامپایل، فایل nekoray به دست میآید.
|
||
|
||
فایلهای فشرده را از Release استخراج کرده و nekoray را جایگزین کنید، سپس launcher را حذف کنید.
|
||
|
||
## روش دیگر کامپایل (پیشرفته)
|
||
|
||
|
||
### پارامترهای CMake
|
||
|
||
| پارامتر CMake | مقدار پیشفرض | توضیح |
|
||
|-------------------|-------------------|-----------------------|
|
||
| QT_VERSION_MAJOR | 5 | نسخه QT |
|
||
| NKR_NO_EXTERNAL | | شامل وابستگیهای خارجی C/C++ (همه زیرمجموعهها) نشود |
|
||
| NKR_NO_YAML | | شامل yaml-cpp نشود |
|
||
| NKR_NO_QHOTKEY | | شامل qhotkey نشود |
|
||
| NKR_NO_ZXING | | شامل zxing نشود |
|
||
| NKR_NO_GRPC | | شامل gRPC نشود |
|
||
| NKR_NO_QUICKJS | | شامل quickjs نشود |
|
||
| NKR_PACKAGE | | نسخهی بسته را کامپایل کنید (aur) |
|
||
| NKR_PACKAGE_MACOS | | نسخهی macOS را کامپایل کنید |
|
||
| NKR_LIBS | ./libs/deps/built | مسیر جستجوی وابستگیها |
|
||
| NKR_DISABLE_LIBS | | وابستگیهای NKR_LIBS غیرفعال شود |
|
||
|
||
1. مقدار `NKR_LIBS` به `CMAKE_PREFIX_PATH` اضافه میشود.
|
||
|
||
2. در صورت فعال بودن `NKR_PACKAGE`، مقدار پیشفرض `NKR_LIBS` برابر با `./libs/deps/package` است، جزئیات وابستگیها در `build_deps_all.sh` قابل مشاهده است.
|
||
3. در صورت فعال بودن `NKR_PACKAGE_MACOS` یا `NKR_PACKAGE`، برنامه از دایرکتوری appdata برای ذخیره تنظیمات و سایر عملیات استفاده میکند و قابلیت بهروزرسانی خودکار غیرفعال خواهد شد.
|
||
|
||
### C++
|
||
|
||
اگر توزیع شما وابستگیهای C++ مورد نظر یا نسخه مورد نظر را نداشته باشد، میتوانید به اسکریپت کامپایل `build_deps_all.sh` مراجعه کرده و خودتان کامپایل کنید.
|
||
|
||
پیشنیازها: Qt با نسخه `5.12.x` یا `5.15.x` باید نصب شده باشد.
|
||
|
||
#### کامپایل و نصب وابستگیهای C/C++
|
||
|
||
(ممکن است به اتصال VPN نیاز داشته باشد)
|
||
|
||
```shell
|
||
./libs/build_deps_all.sh
|
||
```
|
||
|
||
#### کامپایل برنامه اصلی
|
||
|
||
```shell
|
||
mkdir build
|
||
cd build
|
||
cmake -GNinja ..
|
||
ninja
|
||
```
|
||
|
||
پس از کامپایل، فایل `nekoray` به دست میآید.
|
||
|
||
### کامپایل بخش Go
|
||
لطفاً به [Build_Core_fa.md](./Build_Core_fa.md) مراجعه کنید.
|