diff --git a/ChangeLog.md b/ChangeLog.md index dfa6636b2..6453d46b9 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,7 +1,10 @@ ## Change Log + ### v0.0.33 - Remove donate bitcoin - VNC: modify mouse. add back button +- Add build_depend.sh +- CI: add arm64(aarch64) release ### v0.0.32 - Fix player menu bug diff --git a/ChangeLog_zh_CN.md b/ChangeLog_zh_CN.md index 4d30caf22..2122e83e1 100644 --- a/ChangeLog_zh_CN.md +++ b/ChangeLog_zh_CN.md @@ -1,7 +1,10 @@ ## 修改日志 + ### v0.0.33 - 移除捐赠比特币 - VNC: 修改鼠标,增加后退按钮 +- 增加 build_depend.sh +- 自动化集成: 增加 arm64(aarch64) 架构发行版本 ### v0.0.32 - 修复播放器菜单错误 diff --git a/README.md b/README.md index 4f035db8f..e9ec38f7f 100644 --- a/README.md +++ b/README.md @@ -346,12 +346,12 @@ See requirements for details: https://github.com/KangLin/RabbitRemoteControl/iss + Current version: v0.0.32 - Windows: Supported WINDOWS 7 and later version + Win64 - - Install package: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe - - [Download from Github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe) - - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe/download) - - MD5SUM file: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe.md5sum - - [Download from Github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe.md5sum) - - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe.md5sum/download) + - Install package: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe + - [Download from Github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe) + - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe/download) + - MD5SUM file: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe.md5sum + - [Download from Github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe.md5sum) + - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe.md5sum/download) + Win32 - Install package: RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe - [Download from Github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe) @@ -359,34 +359,35 @@ See requirements for details: https://github.com/KangLin/RabbitRemoteControl/iss - MD5SUM file: RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe.md5sum - [Download from Github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe.md5sum) - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe.md5sum/download) - - Ubuntu, Debian: - + rabbitremotecontrol_0.0.32_amd64.deb + - Linux + - Ubuntu, Debian: + + rabbitremotecontrol_0.0.32_amd64.deb - sudo apt install ./rabbitremotecontrol_0.0.32_amd64.deb + sudo apt install ./rabbitremotecontrol_0.0.32_amd64.deb - # If you're on an older ubuntu distribution, you will need to run this instead: - # sudo dpkg -i rabbitremotecontrol_0.0.32_amd64.deb - # sudo apt-get install -f # Install dependencies - - - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb) - - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb/download) - + MD5SUM file: rabbitremotecontrol_0.0.32_amd64.deb.md5sum - - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum) - - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum/download) - - Snap: - [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/badge.svg)](https://snapcraft.io/rabbitremotecontrol) - [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/trending.svg?name=0)](https://snapcraft.io/rabbitremotecontrol) - - AppImage: - - RabbitRemoteControl_v0.0.32_x86_64.AppImage - - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage) - - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage/download) - - chmod u+x RabbitRemoteControl_v0.0.32_x86_64.AppImage - ./RabbitRemoteControl_v0.0.32_x86_64.AppImage - - - md5sum file: RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum - - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum) - - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum/download) + # If you're on an older ubuntu distribution, you will need to run this instead: + # sudo dpkg -i rabbitremotecontrol_0.0.32_amd64.deb + # sudo apt-get install -f # Install dependencies + + - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb) + - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb/download) + + MD5SUM file: rabbitremotecontrol_0.0.32_amd64.deb.md5sum + - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum) + - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum/download) + - Snap: + [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/badge.svg)](https://snapcraft.io/rabbitremotecontrol) + [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/trending.svg?name=0)](https://snapcraft.io/rabbitremotecontrol) + - AppImage: + - RabbitRemoteControl_v0.0.32_x86_64.AppImage + - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage) + - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage/download) + + chmod u+x RabbitRemoteControl_v0.0.32_x86_64.AppImage + ./RabbitRemoteControl_v0.0.32_x86_64.AppImage + + - md5sum file: RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum + - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum) + - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum/download) - Other: - [Download from github](https://github.com/KangLin/RabbitRemoteControl/releases/tag/v0.0.32) - [Download from sourceforge](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/) diff --git a/README_zh_CN.md b/README_zh_CN.md index 50d845a55..3e1c23d68 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -332,12 +332,12 @@ https://github.com/user-attachments/assets/06165fd8-ae12-4565-b3ee-2cfb7a80bc78 + 当前版本:v0.0.32 - Windows: 支持 WINDOWS 7 及以后版本 + Win64 - + 安装包: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe/download) - + MD5SUM 文件: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe.md5sum - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe.md5sum) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.1_Setup.exe.md5sum/download) + + 安装包: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe/download) + + MD5SUM 文件: RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe.md5sum + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe.md5sum) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win64_msvc2022_64_qt6.8.2_Setup.exe.md5sum/download) + Win32 - Install package: RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe) @@ -345,37 +345,38 @@ https://github.com/user-attachments/assets/06165fd8-ae12-4565-b3ee-2cfb7a80bc78 - MD5SUM file: RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe.md5sum - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe.md5sum) - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_win32_msvc2017_qt5.12.12_Setup.exe.md5sum/download) - - Ubuntu、Debian: - + rabbitremotecontrol_0.0.32_amd64.deb - - sudo apt install ./rabbitremotecontrol_0.0.32_amd64.deb - - # 如要你是在老的 ubuntu 发行版本上,你需要用下列命令替换: - # sudo dpkg -i rabbitremotecontrol_0.0.32_amd64.deb - # sudo apt-get install -f # 安装依赖 - - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb/download) - + md5 校验文件: rabbitremotecontrol_0.0.32_amd64.deb.md5sum - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum/download) - - Snap: - [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/badge.svg)](https://snapcraft.io/rabbitremotecontrol) - [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/trending.svg?name=0)](https://snapcraft.io/rabbitremotecontrol) - - AppImage: - - RabbitRemoteControl_v0.0.32_x86_64.AppImage - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage/download) - - chmod u+x RabbitRemoteControl_v0.0.32_x86_64.AppImage - ./RabbitRemoteControl_v0.0.32_x86_64.AppImage - - - md5 校验文件: RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum/download) - - 其它: - - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/tag/v0.0.32) - - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/) + - Linux + - Ubuntu、Debian: + + rabbitremotecontrol_0.0.32_amd64.deb + + sudo apt install ./rabbitremotecontrol_0.0.32_amd64.deb + + # 如要你是在老的 ubuntu 发行版本上,你需要用下列命令替换: + # sudo dpkg -i rabbitremotecontrol_0.0.32_amd64.deb + # sudo apt-get install -f # 安装依赖 + + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb/download) + + md5 校验文件: rabbitremotecontrol_0.0.32_amd64.deb.md5sum + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/rabbitremotecontrol_0.0.32_amd64.deb.md5sum/download) + - Snap: + [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/badge.svg)](https://snapcraft.io/rabbitremotecontrol) + [![rabbitremotecontrol](https://snapcraft.io/rabbitremotecontrol/trending.svg?name=0)](https://snapcraft.io/rabbitremotecontrol) + - AppImage: + - RabbitRemoteControl_v0.0.32_x86_64.AppImage + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage/download) + + chmod u+x RabbitRemoteControl_v0.0.32_x86_64.AppImage + ./RabbitRemoteControl_v0.0.32_x86_64.AppImage + + - md5 校验文件: RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/RabbitRemoteControl_v0.0.32_x86_64.AppImage.md5sum/download) + - 其它: + - [从 github 下载](https://github.com/KangLin/RabbitRemoteControl/releases/tag/v0.0.32) + - [从 sourceforge 下载](https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.32/) ## [开发](docs/Doxygen/Develop_zh_CN.md) diff --git a/docs/Compile/Android.md b/docs/Compile/Android.md index bb4ad8e8e..e411f9674 100644 --- a/docs/Compile/Android.md +++ b/docs/Compile/Android.md @@ -22,10 +22,10 @@ - [Java](https://www.java.com/zh-CN/) - Qt - Qt 官方发行版本:https://download.qt.io/official_releases/qt/ - 当前使用版本:Qt 6.8.0 + 当前使用版本:Qt 6.8.2 详见: https://doc.qt.io/qt-6/android.html - IDE:Qt Creator。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 - 当前使用版本:13.0.0 + 当前使用版本:14.0.2 - Git: [https://www.git-scm.com/](https://www.git-scm.com/) [Git 设置](http://blog.csdn.net/kl222/article/details/32903495) - CMake: [https://www.cmake.org/](https://cmake.org/) @@ -139,12 +139,23 @@ cmake --install . #### 玉兔公共库 -此库默认放在与本项目同级目录下,如果没有在同级目录下,则必须指定 CMake 参数: --DRabbitCommon_ROOT=[RabbitCommon 安装目录] - git clone https://github.com/KangLin/RabbitCommon.git +- 此库默认放在与本项目同级目录下 + + ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git + ~$ git clone https://github.com/KangLin/RabbitCommon.git + +- 如果没有在同级目录下,则必须指定 CMake 参数或者环境变量: + + ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git + # 设置环境变量 + ~$ export RabbitCommon_ROOT=[RabbitCommon 安装目录] + ~$ cd RabbitRemoteControl + # 或者设置 CMake 参数 + ~/RabbitRemoteControl$ cmake -DRabbitCommon_ROOT=[RabbitCommon 安装目录] ...... #### 编译本项目 + - 项目位置:[https://github.com/KangLin/RabbitRemoteControl](https://github.com/KangLin/RabbitRemoteControl) - 下载源码 @@ -189,6 +200,8 @@ - ubuntu export JAVA_HOME= + export QT_ROOT= + export Qt6_DIR= export ANDROID_SDK_ROOT= export ANDROID_NDK_ROOT= export ANDROID_NDK_HOME=%ANDROID_NDK_ROOT% @@ -202,6 +215,8 @@ - windows set JAVA_HOME= + set QT_ROOT= + set Qt6_DIR= set ANDROID_SDK_ROOT= set ANDROID_NDK_ROOT= set ANDROID_NDK_HOME=%ANDROID_NDK_ROOT% @@ -254,6 +269,7 @@ set PATH=%CMAKE_ROOT%/bin;%NINJA_ROOT%;%JAVA_HOME%/bin;%PATH% set VCPKG_ROOT= set QT_ROOT= + set Qt6_DIR= - ubuntu @@ -266,6 +282,7 @@ export PATH=%CMAKE_ROOT%/bin;%NINJA_ROOT%;%JAVA_HOME%/bin;%PATH% export VCPKG_ROOT= export QT_ROOT= + export Qt6_DIR= - 编译 diff --git a/docs/Compile/Linux.md b/docs/Compile/Linux.md index b620af1a6..00167ffa3 100644 --- a/docs/Compile/Linux.md +++ b/docs/Compile/Linux.md @@ -11,9 +11,9 @@ Translator: Allan Nordhøy ~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu - Description: Ubuntu 22.04.3 LTS - Release: 22.04 - Codename: jammy + Description: Ubuntu 24.04.1 LTS + Release: 24.04 + Codename: noble - Debian @@ -26,13 +26,13 @@ Translator: Allan Nordhøy #### Qt Creator -Version: v12.0.2 +Version: v14.0.2 It is recommended to use version v5.0.2 or later. Prior versions don't have CMake support. ### Tools -- Install the development tools package +#### Install the development tools package ~$ sudo apt install build-essential @@ -46,42 +46,113 @@ Prior versions don't have CMake support. ~$ sudo apt install automake autoconf make fakeroot -- Git: [https://www.git-scm.com](https://www.git-scm.com/) +#### Git: [https://www.git-scm.com](https://www.git-scm.com/) ~$ sudo apt install git -- CMake: [https://cmake.org](https://cmake.org/) +#### CMake: [https://cmake.org](https://cmake.org/) - Version: 3.27.0 + Version: Greater than 3.27.0 ~$ sudo apt install cmake -- Package tools: debhelper +#### Package tools: debhelper ~$ sudo apt install debhelper -- Qt - + Qt (official release): https://download.qt.io/official_releases/qt/ - + Qt5: Current version: 5.12.12 - + System build-in: +#### Qt + - Qt (official release): https://download.qt.io/official_releases/qt/ + - Set environment variable or cmake parameters: + QT_ROOT, Qt6_ROOT, Qt6_DIR or Qt5_ROOT, Qt5_DIR + - Environment variable + export QT_ROOT=Qt install root + # Needed by complied AppImage + export QMAKE=$QT_ROOT/bin/qmake + + # When Qt6 + export Qt6_ROOT=$QT_ROOT + # When Qt5 + export Qt5_ROOT=$QT_ROOT + + # Or + + # When Qt6 + export Qt6_DIR=$QT_ROOT/lib/cmake/Qt6 + # When Qt5 + export Qt5_DIR=$QT_ROOT/lib/cmake/Qt5 + + - CMAKE parameters + + # Qt6 + cmake -DQT_ROOT=[Qt install root] -DQt6_DIR=[Qt install root]/lib/cmake/Qt6 ...... + # Qt5 + cmake -DQT_ROOT=[Qt install root] -DQt5_DIR=[Qt install root]/lib/cmake/Qt5 ...... + # Needed by complied AppImage + export QMAKE=$QT_ROOT/bin/qmake + + - System build-in: + - Qt5: + ~$ sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev qtbase5-dev-tools qtmultimedia5-dev qtlocation5-dev libqt5svg5-dev libqtermwidget5-0-dev - + Qt6: Current version: 6.4.2 - + System build-in: + - Qt6: See: [Script/build_depend.sh](../../Script/build_depend.sh) + + ~$ sudo apt install qmake6 qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev qt6-webengine-dev qt6-webengine-dev-tools + + - When multiple distributions of Qt are installed on the system. + For example: Install Qt5 and Qt6 at the same time. + The system uses the qtchooser tool to select the current Qt version. + + l@l:/home/RabbitRemoteControl$ qtchooser + Usage: + qtchooser { -l | -list-versions | -print-env } + qtchooser -install [-f] [-local] + qtchooser -run-tool= [-qt=] [program arguments] + [-qt=] [program arguments] + + Environment variables accepted: + QTCHOOSER_RUNTOOL name of the tool to be run (same as the -run-tool argument) + QT_SELECT version of Qt to be run (same as the -qt argument) + + - List which version of Qt is currently installed on your system + + l@l:/home/RabbitRemoteControl$ qtchooser -l + 4 + 5 + default + qt4-x86_64-linux-gnu + qt4 + qt5-x86_64-linux-gnu + qt5 + qt6 + + # View the Qt version of your current environment + l@l:/home/RabbitRemoteControl$ qtchooser --print-env + QT_SELECT="default" + QTTOOLDIR="[Paths]" + QTLIBDIR="Prefix=/usr" + + - Set the Qt version of your current environment + + export QT_SELECT=qt6 # Set the Qt6 version of your current environment - ~$ sudo apt install qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev qt6-webengine-dev qt6-webengine-dev-tools + # View the Qt version of your current environment + l@l:/home/RabbitRemoteControl$ qtchooser --print-env + QT_SELECT="qt6" + QTTOOLDIR="/usr/lib/qt6/bin" + QTLIBDIR="/usr/lib/aarch64-linux-gnu" -- [OPTIONAL] IDE: Qt Creator. It is recommended to use version v5.0.2 or later. +#### [OPTIONAL] IDE: Qt Creator. It is recommended to use version v5.0.2 or later. Prior versions don't have CMake support. ~$ sudo apt install qtcreator -- OpenGL: Required to run Qt. +#### OpenGL: Required to run Qt. ~$ sudo apt install libglu1-mesa-dev -- Doxygen: [http://www.doxygen.nl/](http://www.doxygen.nl/) +#### Doxygen: [http://www.doxygen.nl/](http://www.doxygen.nl/) ~$ sudo apt install doxygen @@ -91,7 +162,7 @@ Prior versions don't have CMake support. - [MUST] [Openssl:](https://github.com/openssl/openssl) Required to run Qt. - [OPTIONAL] FreeRDP: [https://github.com/FreeRDP/FreeRDP](https://github.com/FreeRDP/FreeRDP) - [OPTIONAL] RFB - + [Optional] RabbitVNC: [https://github.com/KangLin/RabbitVNC](https://github.com/KangLin/RabbitVNC) + + [OPTIONAL] RabbitVNC: [https://github.com/KangLin/RabbitVNC](https://github.com/KangLin/RabbitVNC) + [OPTIONAL] LibVNCServer: [https://github.com/LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) + [OPTIONAL] TigerVNC: [https://github.com/KangLin/tigervnc](https://github.com/KangLin/tigervnc) - [OPTIONAL] QTermWidget: [https://github.com/lxqt/qtermwidget](https://github.com/lxqt/qtermwidget) @@ -106,22 +177,31 @@ Prior versions don't have CMake support. - [OPTIONAL] libdatachannel: [https://github.com/paullouisageneau/libdatachannel](https://github.com/paullouisageneau/libdatachannel) - [OPTIONAL] QXmpp: [https://github.com/qxmpp-project/qxmpp](https://github.com/qxmpp-project/qxmpp) - [OPTIONAL] QtService: [https://github.com/KangLin/qt-solutions](https://github.com/KangLin/qt-solutions) -- [OPTIONAL] PcapPlusPlus: [https://github.com/seladb/PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) +- [OPTIONAL] PcapPlusPlus: [https://github.com/seladb/PcapPlusPlus](https://github.com/seladb/PcapPlusPlus). + Needed by the WakeOnLan plugin - [OPTIONAL] [FFMPEG:](https://ffmpeg.org/) Multimedia capabilities required #### RabbitCommon -This library is placed in the same directory level as the project by default. -If not, you must specify the CMake parameters: --DRabbitCommon_ROOT=[RabbitCommon installation path] +- This library is placed in the same directory level as the project by default. - ~$ git clone https://github.com/KangLin/RabbitCommon.git + ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git + ~$ git clone https://github.com/KangLin/RabbitCommon.git + +- If not, you must specify the CMake parameters or environment variable: + + ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git + # Set environment variable + ~$ export RabbitCommon_ROOT=[RabbitCommon install root] + ~$ cd RabbitRemoteControl + # Or set CMake parameters + ~/RabbitRemoteControl$ cmake -DRabbitCommon_ROOT=[RabbitCommon installation path] ...... #### FreeRDP - Use the system-packaged development library - ~$ sudo apt install freerdp2-dev + ~$ sudo apt install freerdp3-dev - Use vcpkg + Source-code location: https://github.com/microsoft/vcpkg/ @@ -143,15 +223,19 @@ If not, you must specify the CMake parameters: ~$ git clone https://github.com/FreeRDP/FreeRDP.git ~$ cd FreeRDP ~/FreeRDP$ mkdir build - ~/FreeRDP/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install -DWITH_SERVER=ON + ~/FreeRDP/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=`pwd`/install -DWITH_SERVER=ON ~/FreeRDP/build$ cmake --build . --config Release --target install - + Specify the CMake parameters: - - -DBUILD_FREERDP=ON - - -DFreeRDP-Client_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Client2 - - -DFreeRDP_DIR=[freerdp installation path]/lib/cmake/FreeRDP2 - - -DWinPR_DIR=[freerdp installation path]/lib/cmake/WinPR2 - +- When FreeRDP is compiled from source, + the CMake parameter needs to be specified to compile this project: + - -DBUILD_FREERDP=ON + - -DFreeRDP-Client_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Client3 + - -DFreeRDP_DIR=[freerdp installation path]/lib/cmake/FreeRDP3 + - -DWinPR_DIR=[freerdp installation path]/lib/cmake/WinPR3 + - -DFreeRDP-Shadow_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Shadow3 + - -DFreeRDP-Server_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Server3 + #### LibVNCServer - Use the system-packaged development library @@ -161,7 +245,10 @@ If not, you must specify the CMake parameters: - Compile from source code + Source-code location: [https://github.com/LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) It is recommended to use the patches from: https://github.com/KangLin/libvncserver - + Specify CMake parameters: -DLibVNCServer_DIR=[LibVNCServer installation path]/lib/cmake/LibVNCServer +- When LibVNCServer is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DLibVNCServer_DIR=[LibVNCServer installation path]/lib/cmake/LibVNCServer #### RabbitVNC @@ -175,7 +262,10 @@ Source-code location: https://github.com/KangLin/RabbitVNC ~/RabbitVNC$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/RabbitVNC$ cmake --build . --config Release --target install -- Specify the CMake parameters: -DRabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/tigervnc +- When RabbitVNC is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DRabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/tigervnc #### TigerVNC @@ -193,7 +283,10 @@ Source-code location: https://github.com/KangLin/tigervnc ~/tigervnc$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/tigervnc$ cmake --build . --config Release --target install -- Specify the CMake parameters: -Dtigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc +- When TigerVNC is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -Dtigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc #### libdatachannel @@ -219,10 +312,17 @@ Source-code location: https://github.com/KangLin/tigervnc ~/libdatachannel/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/libdatachannel/build$ cmake --build . --config Release --target install - + Specify the CMake parameters: -DLibDataChannel_DIR=[libdatachannel installation path]/lib/cmake/LibDataChannel +- When libdatachannel is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DLibDataChannel_DIR=[libdatachannel installation path]/lib/cmake/LibDataChannel #### QXmpp +- Use the system-packaged development library + + ~$ sudo apt install libqxmpp-dev + - Compile from source code + Source-code location: [https://github.com/qxmpp-project/qxmpp](https://github.com/qxmpp-project/qxmpp) @@ -233,7 +333,10 @@ Source-code location: https://github.com/KangLin/tigervnc ~/qxmpp/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install -DQt5_DIR=[Qt install path]/lib/cmake/Qt5 ~/qxmpp/build$ cmake --build . --config Release --target install - + Specify the CMake parameters: -DQXmpp_DIR=[libdatachannel installation path]/lib/cmake/qxmpp +- When QXmpp is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DQXmpp_DIR=[libdatachannel installation path]/lib/cmake/qxmpp #### QTermWidget @@ -243,7 +346,10 @@ Source-code location: https://github.com/KangLin/tigervnc - Compile from source code + Source-code location: [https://github.com/lxqt/qtermwidget](https://github.com/lxqt/qtermwidget) - + Specify the CMake parameters: -Dqtermwidget5_DIR=[qtermwidget installation path]/lib/cmake/qtermwidget5 +- When QTermWidget is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -Dqtermwidget5_DIR=[qtermwidget installation path]/lib/cmake/qtermwidget5 #### libssh @@ -263,7 +369,10 @@ Source-code location: https://github.com/KangLin/tigervnc - Compile from source code + Source-code location: [https://www.libssh.org](https://www.libssh.org) - + Specify the CMake parameters: -Dlibssh_DIR=[libssh installation path]/lib/cmake/libssh +- When libssh is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -Dlibssh_DIR=[libssh installation path]/lib/cmake/libssh #### QtService @@ -277,13 +386,15 @@ Source-code location: https://github.com/KangLin/tigervnc ~/qt-solutions/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/qt-solutions/build$ cmake --build . --config Release --target install - + Specify the CMake parameters: -DQtService_DIR=[QtService installation path]/lib/cmake/QtService +- When QtService is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DQtService_DIR=[QtService installation path]/lib/cmake/QtService ### PcapPlusPlus - Compile from source code + Source-code location: https://github.com/seladb/PcapPlusPlus - + Specify the CMake parameters: -DPcapPlusPlus_DIR=[PcapPlusPlus install path]/lib/cmake/pcapplusplus ~$ git clone https://github.com/seladb/PcapPlusPlus.git @@ -294,6 +405,11 @@ Source-code location: https://github.com/KangLin/tigervnc ~$ cd vcpkg ~/vcpkg$ ./vcpkg install pcapplusplus +- When PcapPlusPlus is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DPcapPlusPlus_DIR=[PcapPlusPlus install path]/lib/cmake/pcapplusplus + #### libpcap It is depended by PcapPlusPlus @@ -306,12 +422,24 @@ It is depended by PcapPlusPlus ### Compile this project +#### Source code + - Project location: [https://github.com/KangLin/RabbitRemoteControl](https://github.com/KangLin/RabbitRemoteControl) - Download the source code: ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git -- The CMake parameters: +#### CMake parameters or environment variable + +- CMake parameters or environment variable + + [Qt](#Qt) + + QT_ROOT: Qt install root + + Qt6 + + Qt6_ROOT: Is same QT_ROOT + + Qt6_DIR: $QT_ROOT/lib/cmake/Qt6 + + Qt5 + + Qt5_ROOT: Is same QT_ROOT + + Qt5_DIR: $QT_ROOT/lib/cmake/Qt5 + RabbitCommon_ROOT: RabbitCommon source code location + BUILD_CLIENT: Compile client. the default is ON + BUILD_SERVICE: Compile service. the default dependency is whether there is a QtService @@ -320,9 +448,9 @@ It is depended by PcapPlusPlus + BUILD_DOCS: Build docmenets. the default is OFF + BUILD_SHARED_LIBS: Compile shared libraries. the default is ON + BUILD_FREERDP:If compile FreeRDP. the default is OFF - + WinPR_DIR: [freerdp installation path]/lib/cmake/WinPR2 - + FreeRDP_DIR: [freerdp installation path]/lib/cmake/FreeRDP2 - + FreeRDP-Client_DIR: [freerdp installation path]/lib/cmake/FreeRDP-Client2 + + WinPR_DIR: [freerdp installation path]/lib/cmake/WinPR3 + + FreeRDP_DIR: [freerdp installation path]/lib/cmake/FreeRDP3 + + FreeRDP-Client_DIR: [freerdp installation path]/lib/cmake/FreeRDP-Client3 + BUILD_RABBITVNC: Compile RabbitVNC. the default is ON + RabbitVNC_DIR: [RabbitVNC installation path]/lib/cmake/RabbitVNC + BUILD_TigerVNC: Compile TigerVNC. the default is ON @@ -335,60 +463,69 @@ It is depended by PcapPlusPlus + libssh_DIR: [libssh installation path]/lib/cmake/libssh + QtService_DIR: [QtService installation path]/lib/cmake/QtService + PcapPlusPlus_DIR: [PcapPlusPlus install path]/lib/cmake/pcapplusplus - - If using vcpkg, please set the CMake parameters: + CMAKE_TOOLCHAIN_FILE: [vcpkg installation path]/scripts/buildsystems/vcpkg.cmake -- Compilation - + Compile from the command-line - - Not using vcpkg +#### Compilation - ~$ cd RabbitRemoteControl - ~/RabbitRemoteControl$ mkdir build - ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [...] - ~/RabbitRemoteControl/build$ cmake --build . --config Release --target install +- Compile from the command-line + - Not using vcpkg - - If using vcpkg + ~$ cd RabbitRemoteControl + ~/RabbitRemoteControl$ mkdir build + ~/RabbitRemoteControl/build$ cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=`pwd`/install [...] + ~/RabbitRemoteControl/build$ cmake --build . \ + --config Release --target install - ~$ cd RabbitRemoteControl - ~/RabbitRemoteControl$ mkdir build - ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [options libraries] -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake - ~/RabbitRemoteControl/build$ cmake --build . --config Release --target install + - If using vcpkg - + Using an IDE (Qt Creator) - - Open project: Menu→ File→ Open File or project, Select the CMakeLists.txt of the project - - Configure: Click Project→ "Build & Run" in the toolbar on the left to configure CMake parameters - - Compile and run: Click "Start Debugging of startup project" in the left toolbar, or press the shortcut key (F5) - - If need install: select install in target - - If using vcpkg: Menu→ Options→ Kits→ Cmake Configureration: add CMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake + ~$ cd RabbitRemoteControl + ~/RabbitRemoteControl$ mkdir build + ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=`pwd`/install \ + -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake \ + [options libraries] + ~/RabbitRemoteControl/build$ cmake --build . \ + --config Release --target install +- Using an IDE (Qt Creator) + - Open project: Menu→ File→ Open File or project, Select the CMakeLists.txt of the project + - Configure: Click Project→ "Build & Run" in the toolbar on the left to configure CMake parameters + - Compile and run: Click "Start Debugging of startup project" in the left toolbar, or press the shortcut key (F5) + - If need install: select install in target + - If using vcpkg: Menu→ Options→ Kits→ Cmake Configureration: add CMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake - + Use script build_debpackage.sh - - Set [Compile this project](#Compile-this-project) → The CMake parameters as environment variable. eg: - - export RabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/RabbitVNC - export tigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc - - - Use build_debpackage.sh +- Use script [build_debpackage.sh](../../Script/build_debpackage.sh) + - Set [CMake parameters or environment variable](#CMake-parameters-or-environment-variable) as environment variable. eg: - ./build_debpackage.sh $QT_ROOT $RabbitCommon_ROOT + export RabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/RabbitVNC + export tigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc -- Run - + The application is installed in install/bin - - ~$ cd RabbitRemoteControl - ~/RabbitRemoteControl$ cd build/install/bin - ~/RabbitRemoteControl$ ./RabbitRemoteControl.sh + - Use [build_debpackage.sh](../../Script/build_debpackage.sh) + ./Script/build_debpackage.sh $QT_ROOT $RabbitCommon_ROOT + +#### Run + +- The application is installed in install/bin + + ~$ cd RabbitRemoteControl + ~/RabbitRemoteControl$ cd build/install/bin + ~/RabbitRemoteControl$ ./RabbitRemoteControl.sh + # Or + ~/RabbitRemoteControl$ ./RabbitRemoteControlApp + **Note:** If the plugin does not load. It may be that the plugin's dependencies are not installed on the system. -You can add the path of the dependent library to the environment variable PKG_CONFIG_PATH. -You can also add the path of the dependent library to the /etc/ld.so.conf file, -and then run ldconfig to add the dependent library to the system. +You can add the path of the dependency libraries to the environment variable LD_LIBRARY_PATH. +You can also add the path of the dependency libraries to the /etc/ld.so.conf file, +and then run ldconfig to add the dependency libraries to the system. -### Compilation +#### Compilation example -#### Ubuntu +##### Ubuntu ```bash #Install the development tools package @@ -407,7 +544,7 @@ and then run ldconfig to add the dependent library to the system. libx11-dev libxfixes-dev ~$ sudo apt install libutf8proc-dev libpam0g-dev # Need by compile qtermwidget # Install libpixman, RabbitVNC and TigerVNC need it. - ~$ sudo apt install libpixman-1-dev + ~$ sudo apt install libpixman-1-dev libjpeg-dev # Compile RabbitVNC ~$ git clone https://github.com/KangLin/RabbitVNC.git ~$ cd RabbitVNC @@ -574,3 +711,50 @@ See: [Compile integration](../../.github/workflows/ubuntu.yml) - Remove snap remove rabbitremotecontrol + +### Script + +- Script + - [build_depend.sh](../../Script/build_depend.sh): Build, Install the dependency libraries + - [build_debpackage.sh](../../Script/build_debpackage.sh): Build deb package. + Before executing, set environment variables. + See: [CMake parameters or environment variable](#CMake-parameters-or-environment-variable) + - [build_appimage.sh](../../Script/build_appimage.sh): Build AppImage package. + Before executing, set environment variables. + See: [CMake parameters or environment variable](#CMake-parameters-or-environment-variable) + - example + + # [Set Qt](#Qt) + # If use Qt be installed from [Qt](download.qt.io) + export QT_ROOT= + export Qt6_ROOT=$QT_ROOT + export QMAKE=$QT_ROOT/bin/qmake + # If use the system-packaged Qt + export QT_SELECT=qt6 + + # Note: The following environment variables must be absolute path + export BUILD_DIR=`pwd`/build + export INSTALL_DIR=$BUILD_DIR/install + export SOURCE_DIR=$BUILD_DIR/source + export TOOLS_DIR=$BUILD_DIR/tools + + # Install dependency libraries + sudo ./Script/build_depend.sh --apt_update --base --default --rabbitcommon \ + --tigervnc --pcapplusplus \ + --install ${INSTALL_DIR} \ + --source ${SOURCE_DIR} \ + --tools ${TOOLS_DIR} \ + --build ${BUILD_DIR} + + # Set dependency libraries environment variable + export RabbitCommon_ROOT=${SOURCE_DIR}/RabbitCommon + export tigervnc_DIR=${INSTALL_DIR}/lib/cmake/tigervnc + export PcapPlusPlus_DIR=${INSTALL_DIR}/lib/cmake/pcapplusplus + + # Compile deb package + ./Script/build_debpackage.sh + + # Compile AppImage + ./Script/build_appimage.sh + +- [deploy.sh](../../deploy.sh): Deploy. Only used by administarotr diff --git a/docs/Compile/Linux_zh_CN.md b/docs/Compile/Linux_zh_CN.md index 899eb188f..843378808 100644 --- a/docs/Compile/Linux_zh_CN.md +++ b/docs/Compile/Linux_zh_CN.md @@ -1,4 +1,5 @@ ## 为 Linux 编译 + 作者:康林 ### 环境 @@ -9,9 +10,9 @@ ~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu - Description: Ubuntu 22.04.3 LTS - Release: 22.04 - Codename: jammy + Description: Ubuntu 24.04.1 LTS + Release: 24.04 + Codename: noble - Debian @@ -24,11 +25,11 @@ #### Qt Creator -版本:v12.0.2。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 +版本:v14.0.2。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 ### 工具 -- 安装开发工具软件包 +#### 安装开发工具软件包 ~$ sudo apt install build-essential @@ -42,41 +43,110 @@ ~$ sudo apt install automake autoconf make fakeroot -- GIT: [http://www.git-scm.com](http://www.git-scm.com) +#### GIT: [http://www.git-scm.com](http://www.git-scm.com) ~$ sudo apt install git -- CMAKE: [http://www.cmake.org](http://www.cmake.org) +#### CMAKE: [http://www.cmake.org](http://www.cmake.org) - 版本: 3.27.0 + 版本: 大于 3.27.0 ~$ sudo apt install cmake -- 打包工具: debhelper +#### 打包工具: debhelper ~$ sudo apt install debhelper -- Qt - + Qt 官方发行版本: https://download.qt.io/official_releases/qt/ - + Qt5: 当前版本: Qt 5.12.12 - + 系统自带: +#### Qt + - Qt 官方发行版本: https://download.qt.io/official_releases/qt/ + - 则需要设置环境变量(或者 CMAKE 参数): + QT_ROOT、Qt6_ROOT、Qt6_DIR 或者 Qt5_ROOT、Qt5_DIR + - 环境变量 + + export QT_ROOT=Qt 安装位置 + # 编译 AppImage 需要 + export QMAKE=$QT_ROOT/bin/qmake + + # 当使用 Qt6 时 + export Qt6_ROOT=$QT_ROOT + # 当使用 Qt5 时 + export Qt5_ROOT=$QT_ROOT + + # 或者 + # 当使用 Qt6 时 + export Qt6_DIR=$QT_ROOT/lib/cmake/Qt6 + # 当使用 Qt5 时 + export Qt5_DIR=$QT_ROOT/lib/cmake/Qt5 + + - CMAKE 参数 + + #当使用 Qt6 时 + cmake -DQT_ROOT=[Qt 安装位置] -DQt6_DIR=[Qt 安装位置] ...... + #当使用 Qt5 时 + cmake -DQT_ROOT=[Qt 安装位置] -DQt5_DIR=[Qt 安装位置] ...... + # 编译 AppImage 需要 + export QMAKE=$QT_ROOT/bin/qmake + + - 系统自带: + - Qt5: ~$ sudo apt install qttools5-dev qttools5-dev-tools qtbase5-dev qtbase5-dev-tools qtmultimedia5-dev qtlocation5-dev libqt5svg5-dev libqtermwidget5-0-dev - + Qt6: 当前版本:6.4.2 - + 系统自带: + - Qt6: 详见: [Script/build_depend.sh](../../Script/build_depend.sh) + + ~$ sudo apt install qmake6 qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev + + - 系统安装多个分发版本 Qt 时。例如:同时安装 Qt5 和 Qt6 。 + 系统使用 qtchooser 工具来选择当前的 Qt 版本。 + + l@l:/home/RabbitRemoteControl$ qtchooser + Usage: + qtchooser { -l | -list-versions | -print-env } + qtchooser -install [-f] [-local] + qtchooser -run-tool= [-qt=] [program arguments] + [-qt=] [program arguments] + + Environment variables accepted: + QTCHOOSER_RUNTOOL name of the tool to be run (same as the -run-tool argument) + QT_SELECT version of Qt to be run (same as the -qt argument) + + - 查看当前系统安装的 Qt 版本 + + l@l:/home/RabbitRemoteControl$ qtchooser -l + 4 + 5 + default + qt4-x86_64-linux-gnu + qt4 + qt5-x86_64-linux-gnu + qt5 + qt6 + + # 查看当前环境的 Qt 版本 + l@l:/home/RabbitRemoteControl$ qtchooser --print-env + QT_SELECT="default" + QTTOOLDIR="[Paths]" + QTLIBDIR="Prefix=/usr" + + - 设置当前环境的 Qt 版本 - ~$ sudo apt install qt6-tools-dev qt6-tools-dev-tools qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev + export QT_SELECT=qt6 #设置当前环境 Qt 版本为 6 -- [可选] IDE: Qt Creator。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 + # 查看当前环境的 Qt 版本 + l@l:/home/RabbitRemoteControl$ qtchooser --print-env + QT_SELECT="qt6" + QTTOOLDIR="/usr/lib/qt6/bin" + QTLIBDIR="/usr/lib/aarch64-linux-gnu" + +#### [可选] IDE: Qt Creator。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 ~$ sudo apt install qtcreator -- OpenGL: 运行 Qt 需要 +#### OpenGL: 运行 Qt 需要 ~$ sudo apt install libglu1-mesa-dev -- Doxygen: [http://www.doxygen.nl/](http://www.doxygen.nl/) +#### Doxygen: [http://www.doxygen.nl/](http://www.doxygen.nl/) ~$ sudo apt install doxygen @@ -101,19 +171,30 @@ - [可选] libdatachannel: [https://github.com/paullouisageneau/libdatachannel](https://github.com/paullouisageneau/libdatachannel) - [可选] QXmpp: [https://github.com/qxmpp-project/qxmpp](https://github.com/qxmpp-project/qxmpp) - [可选] QtService: https://github.com/KangLin/qt-solutions/ -- [可选] PcapPlusPlus: [https://github.com/seladb/PcapPlusPlus](https://github.com/seladb/PcapPlusPlus) +- [可选] PcapPlusPlus: [https://github.com/seladb/PcapPlusPlus](https://github.com/seladb/PcapPlusPlus)。插件 WakeOnLan 需要。 - [可选] [FFMPEG:](https://ffmpeg.org/) 多媒体功能需要 #### 玉兔公共库 -此库默认放在与本项目同级目录下,如果没有在同级目录下,则必须指定 CMake 参数: --DRabbitCommon_ROOT=[RabbitCommon 安装目录] - ~$ git clone https://github.com/KangLin/RabbitCommon.git - +- 此库默认放在与本项目同级目录下 + + ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git + ~$ git clone https://github.com/KangLin/RabbitCommon.git + +- 如果没有在同级目录下,则必须指定 CMake 参数或者环境变量: + + ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git + # 设置环境变量 + ~$ export RabbitCommon_ROOT=[RabbitCommon 安装目录] + ~$ cd RabbitRemoteControl + # 或者设置 CMake 参数 + ~/RabbitRemoteControl$ cmake -DRabbitCommon_ROOT=[RabbitCommon 安装目录] ...... + #### FreeRDP + - 使用系统预编译开发库 - ~$ sudo apt install freerdp2-dev + ~$ sudo apt install freerdp3-dev - 使用 vcpkg + 源码位置: https://github.com/microsoft/vcpkg/ @@ -135,35 +216,44 @@ ~/FreeRDP/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install -DWITH_SERVER=ON ~/FreeRDP/build$ cmake --build . --config Release --target install - + 指定 CMake 参数: - - -DBUILD_FREERDP=ON - - -DFreeRDP-Client_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Client2 - - -DFreeRDP_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP2 - - -DWinPR_DIR=[freerdp 安装目录]/lib/cmake/WinPR2 +- 当 FreeRDP 从源码编译时,编译本项需要指定的 CMake 参数: + - -DBUILD_FREERDP=ON + - -DFreeRDP-Client_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Client3 + - -DFreeRDP_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP3 + - -DWinPR_DIR=[freerdp 安装目录]/lib/cmake/WinPR3 + - -DFreeRDP-Shadow_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Shadow3 + - -DFreeRDP-Server_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Server3 #### LibVNCServer + - 使用系统预编译开发库 ~$ sudo apt install libvncserver-dev - 从源码编译 + 源码位置:[https://github.com/LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) - + 指定 CMake 参数:-DLibVNCServer_DIR=[LibVNCServer 安装目录]/lib/cmake/LibVNCServer +- 当 LibVNCServer 从源码编译时,编译本项需要指定的 CMake 参数: + + -DLibVNCServer_DIR=[LibVNCServer 安装目录]/lib/cmake/LibVNCServer #### RabbitVNC + - 从源码编译 -源码位置: https://github.com/KangLin/RabbitVNC - - ~$ sudo apt install libpixman-1-dev - ~$ git clone https://github.com/KangLin/RabbitVNC.git - ~$ cd RabbitVNC - ~/RabbitVNC$ mkdir build - ~/RabbitVNC$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install - ~/RabbitVNC$ cmake --build . --config Release --target install + - 源码位置: https://github.com/KangLin/RabbitVNC + + ~$ sudo apt install libpixman-1-dev + ~$ git clone https://github.com/KangLin/RabbitVNC.git + ~$ cd RabbitVNC + ~/RabbitVNC$ mkdir build + ~/RabbitVNC$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install + ~/RabbitVNC$ cmake --build . --config Release --target install -- 指定 CMake 参数:-DRabbitVNC_DIR=[RabbitVNC 安装目录]/lib/cmake/RabbitVNC +- 当 RabbitVNC 从源码编译时,编译本项需要指定的 CMake 参数: + + -DRabbitVNC_DIR=[RabbitVNC 安装目录]/lib/cmake/RabbitVNC #### TigerVNC + - 从源码编译 官方只是个应用程序,不支持库。详见:https://github.com/TigerVNC/tigervnc/issues/1123 @@ -176,9 +266,12 @@ ~/tigervnc$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/tigervnc$ cmake --build . --config Release --target install -- 指定 CMake 参数:-Dtigervnc_DIR=[TigerVNC 安装目录]/lib/cmake/tigervnc +- 当 TigerVNC 从源码编译时,编译本项需要指定的 CMake 参数: + + -Dtigervnc_DIR=[TigerVNC 安装目录]/lib/cmake/tigervnc #### libdatachannel + - 使用 vcpkg + 源码位置: https://github.com/microsoft/vcpkg/ @@ -199,9 +292,16 @@ ~/libdatachannel/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/libdatachannel/build$ cmake --build . --config Release --target install - + 指定 CMake 参数: -DLibDataChannel_DIR=[libdatachannel 安装目录]/lib/cmake/LibDataChannel +- 当 libdatachannel 从源码编译时,编译本项需要指定的 CMake 参数: + + -DLibDataChannel_DIR=[libdatachannel 安装目录]/lib/cmake/LibDataChannel #### QXmpp + +- 使用系统预编译开发库 + + ~$ sudo apt install libqxmpp-dev + - 从源码编译 + 源码位置: [https://github.com/qxmpp-project/qxmpp](https://github.com/qxmpp-project/qxmpp) @@ -212,18 +312,24 @@ ~/qxmpp/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install -DQt5_DIR=[Qt5 安装目录]/lib/cmake/Qt5 ~/qxmpp/build$ cmake --build . --config Release --target install - + 指定 CMake 参数: -DQXmpp_DIR=[QXmpp 安装目录]/lib/cmake/qxmpp +- 当 QXmpp 从源码编译时,编译本项需要指定的 CMake 参数: + + -DQXmpp_DIR=[QXmpp 安装目录]/lib/cmake/qxmpp #### QTermWidget + - 使用系统预编译开发库 ~$ sudo apt install libqtermwidget5-0-dev - 从源码编译 + 源码位置: [https://github.com/lxqt/qtermwidget](https://github.com/lxqt/qtermwidget) - + 指定 CMake 参数:-Dqtermwidget5_DIR=[qtermwidget 安装目录]/lib/cmake/qtermwidget5 +- 当 QTermWidget 从源码编译时,编译本项需要指定的 CMake 参数: + + -Dqtermwidget5_DIR=[qtermwidget 安装目录]/lib/cmake/qtermwidget5 #### libssh + - 使用系统预编译开发库 ~$ sudo apt install libssh-dev @@ -239,9 +345,12 @@ - 从源码编译 + 源码位置: [https://www.libssh.org](https://www.libssh.org) - + 指定 CMake 参数:-Dlibssh_DIR=[libssh 安装目录]/lib/cmake/libssh +- 当 libssh 从源码编译时,编译本项需要指定的 CMake 参数: + + -Dlibssh_DIR=[libssh 安装目录]/lib/cmake/libssh #### QtService + - 从源码编译 + 源码位置:: https://github.com/KangLin/qt-solutions/ @@ -252,15 +361,58 @@ ~/qt-solutions/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install ~/qt-solutions/build$ cmake --build . --config Release --target install - + 指定 CMake 参数: -DQtService_DIR=[QtService 安装目录]/lib/cmake/QtService +- 当 QtService 从源码编译时,编译本项需要指定的 CMake 参数: + + -DQtService_DIR=[QtService 安装目录]/lib/cmake/QtService + +### PcapPlusPlus + +- 从源码编译 + + 源码位置:https://github.com/seladb/PcapPlusPlus + + ~$ git clone https://github.com/seladb/PcapPlusPlus.git + +- 使用 vcpkg + + 源码位置:https://github.com/microsoft/vcpkg/ + + ~$ git clone https://github.com/microsoft/vcpkg.git + ~$ cd vcpkg + ~/vcpkg$ ./vcpkg install pcapplusplus + +- 当 PcapPlusPlus 从源码编译时,编译本项需要指定的 CMake 参数: + + -DPcapPlusPlus_DIR=[PcapPlusPlus 安装目录]/lib/cmake/pcapplusplus + +#### libpcap + +PcapPlusPlus 依赖此库。 + +- 使用系统预编译开发库 + + ~$ sudo apt install libpcap-dev + +- 源码位置:https://github.com/the-tcpdump-group/libpcap ### 编译本项目 + +#### 源码 + - 项目位置:[https://github.com/KangLin/RabbitRemoteControl](https://github.com/KangLin/RabbitRemoteControl) - 下载源码 ~$ git clone https://github.com/KangLin/RabbitRemoteControl.git -- CMake 参数 +#### CMake 参数或者环境变量 + +- CMake 参数或者环境变量 + + [Qt](#Qt) + + QT_ROOT: Qt 安装位置 + + Qt6 + + Qt6_ROOT: 与 QT_ROOT 相同 + + Qt6_DIR: $QT_ROOT/lib/cmake/Qt6 + + Qt5 + + Qt5_ROOT: 与 QT_ROOT 相同 + + Qt5_DIR: $QT_ROOT/lib/cmake/Qt5 + RabbitCommon_ROOT: RabbitCommon 源码位置 + BUILD_CLIENT: 编译客户端。默认为 ON + BUILD_SERVICE: 编译服务器端。默认依赖是否有 QtService @@ -269,7 +421,7 @@ + BUILD_DOCS: 编译文档。默认为 OFF + BUILD_SHARED_LIBS: 编译动态库。默认为 ON + BUILD_FREERDP:是否编译 FreeRDP。 默认为 OFF - + WinPR_DIR:PATH: [freerdp 安装目录]/lib/cmake/WinPR2 + + WinPR_DIR: [freerdp 安装目录]/lib/cmake/WinPR2 + FreeRDP_DIR: [freerdp 安装目录]/lib/cmake/FreeRDP2 + FreeRDP-Client_DIR: [freerdp 安装目录]/lib/cmake/FreeRDP-Client2 + BUILD_RABBITVNC: 编译 RabbitVNC 插件。默认为 ON @@ -283,55 +435,63 @@ + qtermwidget5_DIR: [qtermwidget 安装目录]/lib/cmake/qtermwidget5 + libssh_DIR: [libssh 安装目录]/lib/cmake/libssh + QtService_DIR: [QtService 安装目录]/lib/cmake/QtService - - 如果使用 vcpkg,增加下面参数 + CMAKE_TOOLCHAIN_FILE: [vcpkg installation path]/scripts/buildsystems/vcpkg.cmake + VCPKG_MANIFEST_FEATURES: vcpkg 中的清单功能 -- 编译 - + 命令行编译 - - 不用 vcpkg +#### 编译 + +- 命令行编译 + - 不用 vcpkg - ~$ cd RabbitRemoteControl - ~/RabbitRemoteControl$ mkdir build - ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install - ~/RabbitRemoteControl/build$ cmake --build . --config Release --target install + ~$ cd RabbitRemoteControl + ~/RabbitRemoteControl$ mkdir build + ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=`pwd`/install + ~/RabbitRemoteControl/build$ cmake --build . --config Release --target install - - 使用 vcpkg + - 使用 vcpkg - ~$ cd RabbitRemoteControl - ~/RabbitRemoteControl$ mkdir build - ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/install [可选依赖库] -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake - ~/RabbitRemoteControl/build$ cmake --build . --config Release --target install - - + IDE(Qt Creator) 编译 - - 打开项目: “菜单→文件→打开文件或项目”,选择项目根目录中的 CMakeLists.txt - - 配置:点左侧工具栏上的 “项目→构建与运行”,配置 CMake 参数 - - 如果要安装,还需要 “项目→构建与运行→构建步骤→目标” 中,选中 install - - 编译与运行: 点左侧工具栏上的 “开始调试” 或者按快捷键 “F5” - - 如果用 vcpkg: 选项→Kits→Cmake Configureration: 增加 CMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake - - + 使用脚本 build_debpackage.sh - - 设置[编译本项目](#编译本项目) → CMake 参数为环境变量。例如: + ~$ cd RabbitRemoteControl + ~/RabbitRemoteControl$ mkdir build + ~/RabbitRemoteControl/build$ cmake .. -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=`pwd`/install \ + -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake \ + [可选依赖库] + ~/RabbitRemoteControl/build$ cmake --build . --config Release --target install + +- IDE(Qt Creator) 编译 + - 打开项目: “菜单→文件→打开文件或项目”,选择项目根目录中的 CMakeLists.txt + - 配置:点左侧工具栏上的 “项目→构建与运行”,配置 CMake 参数 + - 如果要安装,还需要 “项目→构建与运行→构建步骤→目标” 中,选中 install + - 编译与运行: 点左侧工具栏上的 “开始调试” 或者按快捷键 “F5” + - 如果用 vcpkg: 选项→Kits→Cmake Configureration: 增加 CMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake + +- 使用脚本 [build_debpackage.sh](../../Script/build_debpackage.sh) + - 设置 [CMake 参数或者环境变量](#CMake-参数或者环境变量)为环境变量。例如: - export RabbitVNC_DIR=[RabbitVNC 安装目录]/lib/cmake/RabbitVNC - export tigervnc_DIR=[TigerVNC 安装目录]/lib/cmake/tigervnc - export QtService_DIR=[QtService 安装目录]/lib/cmake/QtService + export RabbitVNC_DIR=[RabbitVNC 安装目录]/lib/cmake/RabbitVNC + export tigervnc_DIR=[TigerVNC 安装目录]/lib/cmake/tigervnc + export QtService_DIR=[QtService 安装目录]/lib/cmake/QtService - - 使用脚本 build_debpackage.sh + - 使用脚本 [build_debpackage.sh](../../Script/build_debpackage.sh) - ./build_debpackage.sh [$QT_ROOT] [$RabbitCommon_ROOT] + ./Script/build_debpackage.sh [$QT_ROOT] [$RabbitCommon_ROOT] -- 运行 - + 程序安装在 install/bin 下 +#### 运行 + +- 程序安装在 install/bin 下 - ~$ cd RabbitRemoteControl - ~/RabbitRemoteControl$ cd build/install/bin - ~/RabbitRemoteControl$ ./RabbitRemoteControl.sh + ~$ cd RabbitRemoteControl + ~/RabbitRemoteControl$ cd build/install/bin + ~/RabbitRemoteControl$ ./RabbitRemoteControl.sh + # 或者 + ~/RabbitRemoteControl$ ./RabbitRemoteControlApp **注意:** 如果插件没有加载。则可能是插件的依赖库没有安装到系统。 - 你可以把依赖库的目录加入到环境变量 PKG_CONFIG_PATH 中。 - 你也可以把依赖库的目录加入到 /etc/ld.so.conf 文件中,然后运行 ldconfig 把依赖库加入到系统中。 + 你可以把依赖库的目录加入到环境变量 LD_LIBRARY_PATH 中。 + 你也可以把依赖库的目录加入到 /etc/ld.so.conf 文件中, + 然后运行 ldconfig 把依赖库加入到系统中。 - Qt 变量 - QT_DEBUG_PLUGINS: 调试插件 @@ -343,7 +503,7 @@ export QT_QPA_PLATFORM=vnc -### 编译 +### 编译例子 #### Ubuntu @@ -418,7 +578,7 @@ 参见:[编译集成](../../.github/workflows/ubuntu.yml) -##### [AppImage](https://github.com/linuxdeploy/linuxdeploy) +### [AppImage](https://github.com/linuxdeploy/linuxdeploy) - 编译 @@ -479,7 +639,10 @@ 解决方案: 安装fuse2 `sudo apt install fuse` -##### snap +- 脚本:[build_appimage.sh](../../Script/build_appimage.sh) + +### snap + - 编译: - Parts 生命周期: https://snapcraft.io/docs/parts-lifecycle - https://snapcraft.io/docs/how-snapcraft-builds @@ -526,3 +689,48 @@ - 卸载 snap remove rabbitremotecontrol + +### 脚本 + +- Script + - [build_depend.sh](../../Script/build_depend.sh): 编译、安装依赖库。 + - [build_debpackage.sh](../../Script/build_debpackage.sh): 编译 deb 安装包。 + 执行前,请设置环境变量。参见:[CMake 参数或者环境变量](#CMake-参数或者环境变量) + - [build_appimage.sh](../../Script/build_appimage.sh): 编译 AppImage 包。 + 执行前,请设置环境变量。参见:[CMake 参数或者环境变量](#CMake-参数或者环境变量) + - 示例 + + # [设置 Qt](#Qt) + # 如果是从 [Qt官网](download.qt.io) 安装的 Qt + export QT_ROOT= + export Qt6_ROOT=$QT_ROOT + export QMAKE=$QT_ROOT/bin/qmake + # 如果是系统自带的 Qt + export QT_SELECT=qt6 + + # 注意:下面环境变量一定要使用绝对路径 + export BUILD_DIR=`pwd`/build + export INSTALL_DIR=$BUILD_DIR/install + export SOURCE_DIR=$BUILD_DIR/source + export TOOLS_DIR=$BUILD_DIR/tools + + # 安装依赖库 + sudo ./Script/build_depend.sh --apt_update --base --default --rabbitcommon \ + --tigervnc --pcapplusplus \ + --install ${INSTALL_DIR} \ + --source ${SOURCE_DIR} \ + --tools ${TOOLS_DIR} \ + --build ${BUILD_DIR} + + # 设置环境变量 + export RabbitCommon_ROOT=${SOURCE_DIR}/RabbitCommon + export tigervnc_DIR=${INSTALL_DIR}/lib/cmake/tigervnc + export PcapPlusPlus_DIR=${INSTALL_DIR}/lib/cmake/pcapplusplus + + # 编译 deb 包 + ./Script/build_debpackage.sh + + # 编译 AppImage + ./Script/build_appimage.sh + +- [deploy.sh](../../deploy.sh): 分发版本。仅由管理员使用。 diff --git a/docs/Compile/Windows.md b/docs/Compile/Windows.md index c21ddc57b..214d22bc4 100644 --- a/docs/Compile/Windows.md +++ b/docs/Compile/Windows.md @@ -1,4 +1,5 @@ ## Compiling for Windows + Author: Kang Lin Translator: Allan Nordhøy @@ -8,7 +9,8 @@ Translator: Allan Nordhøy Windows 10, version 20H2 (19042.985) #### QtCreator -Version: v11.0.0 . + +Version: v14.0.2 It is recommended to use version v5.0.2 or later. Prior versions don't have CMake support. @@ -34,10 +36,26 @@ Prior versions don't have CMake support. - DirectX: https://support.microsoft.com/zh-cn/topic/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84-directx-d1f5ffa5-dae2-246c-91b1-ee1e973ed8c2 Required to run Qt. - Qt - + Qt (official release): https://download.qt.io/official_releases/qt/ - Current version: Qt 6.7.0 - + IDE: Qt Creator. It is recommended to use version v5.0.2 or later. - Current version: 12.0.2 + - Qt (official release): https://download.qt.io/official_releases/qt/ + Current version: Qt 6.8.2 + - Set environment variable or cmake parameters: QT_ROOT, Qt6_DIR or Qt6_DIR + - Environment variable + + export QT_ROOT=Qt install root + # When Qt6 + export Qt6_DIR=$QT_ROOT + # When Qt5 + export Qt5_DIR=$QT_ROOT + + - CMAKE parameters + + # Qt6 + cmake -DQT_ROOT=[Qt install root] -DQt6_DIR=[Qt install root] ...... + # Qt5 + cmake -DQT_ROOT=[Qt install root] -DQt5_DIR=[Qt install root] ...... + + - IDE: Qt Creator. It is recommended to use version v5.0.2 or later. + Current version: 14.0.2 Prior versions don't have CMake support. - Git: [https://www.git-scm.com/](https://www.git-scm.com/) - CMake: [https://www.cmake.org/](https://cmake.org/) @@ -55,7 +73,7 @@ See: [Compile integration](../../.github/workflows/msvc.yml) - [MUST] RabbitCommon: [https://github.com/KangLin/RabbitCommon](https://github.com/KangLin/RabbitCommon) - [MUST] [Openssl:](https://github.com/openssl/openssl) Required to run Qt. - [OPTIONAL] RFB - + [Optional] RabbitVNC: [https://github.com/KangLin/RabbitVNC](https://github.com/KangLin/RabbitVNC) + + [OPTIONAL] RabbitVNC: [https://github.com/KangLin/RabbitVNC](https://github.com/KangLin/RabbitVNC) + [OPTIONAL] LibVNCServer: [https://github.com/LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) + [OPTIONAL] TigerVNC: [https://github.com/KangLin/tigervnc](https://github.com/KangLin/tigervnc) - [OPTIONAL] FreeRDP: [https://github.com/FreeRDP/FreeRDP](https://github.com/FreeRDP/FreeRDP) @@ -75,13 +93,23 @@ See: [Compile integration](../../.github/workflows/msvc.yml) - [OPTIONAL] [FFMPEG:](https://ffmpeg.org/) Multimedia capabilities required #### RabbitCommon -This library is placed in the same directory level as the project by default. -If not, you must specify the CMake parameters: --DRabbitCommon_ROOT=[RabbitCommon installation path] - git clone https://github.com/KangLin/RabbitCommon.git +- This library is placed in the same directory level as the project by default. + + git clone https://github.com/KangLin/RabbitRemoteControl.git + git clone https://github.com/KangLin/RabbitCommon.git + +- If not, you must specify the CMake parameters or environment variable: + + git clone https://github.com/KangLin/RabbitRemoteControl.git + ; Set environment variable + set RabbitCommon_ROOT=[RabbitCommon install root] + cd RabbitRemoteControl + ; Or set CMake parameters + cmake -DRabbitCommon_ROOT=[RabbitCommon installation path] ...... #### FreeRDP + - Use vcpkg + Source-code location: https://github.com/microsoft/vcpkg/ @@ -103,13 +131,17 @@ If not, you must specify the CMake parameters: cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DWITH_SERVER=ON cmake --build . --config Release --target install - + Specify the CMake parameters: - - -DBUILD_FREERDP=ON - - -DFreeRDP-Client_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Client2 - - -DFreeRDP_DIR=[freerdp installation path]/lib/cmake/FreeRDP2 - - -DWinPR_DIR=[freerdp installation path]/lib/cmake/WinPR2 - +- When FreeRDP is compiled from source, + the CMake parameter needs to be specified to compile this project: + - -DBUILD_FREERDP=ON + - -DFreeRDP-Client_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Client3 + - -DFreeRDP_DIR=[freerdp installation path]/lib/cmake/FreeRDP3 + - -DWinPR_DIR=[freerdp installation path]/lib/cmake/WinPR3 + - -DFreeRDP-Shadow_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Shadow3 + - -DFreeRDP-Server_DIR=[freerdp installation path]/lib/cmake/FreeRDP-Server3 + #### LibVNCServer + - Compile from source code + Source-code location: [https://github.com/LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) It is recommended to use the patches from: https://github.com/KangLin/libvncserver @@ -122,23 +154,31 @@ If not, you must specify the CMake parameters: cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake cmake --build . --config Release --target install - + Specify the CMake parameters: -DLibVNCServer_DIR=[LibVNCServer installation path]/lib/cmake/LibVNCServer +- When LibVNCServer is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DLibVNCServer_DIR=[LibVNCServer installation path]/lib/cmake/LibVNCServer #### RabbitVNC + - Compile from source code -Source-code location: https://github.com/KangLin/RabbitVNC - - cd vcpkg - vcpkg install zlib openssl libjpeg-turbo pixman - git clone https://github.com/KangLin/RabbitVNC.git - cd RabbitVNC - mkdir build - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake - cmake --build . --config Release --target install + - Source-code location: https://github.com/KangLin/RabbitVNC + + cd vcpkg + vcpkg install zlib openssl libjpeg-turbo pixman + git clone https://github.com/KangLin/RabbitVNC.git + cd RabbitVNC + mkdir build + cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake + cmake --build . --config Release --target install -- Specify the CMake parameters: -DRabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/tigervnc +- When RabbitVNC is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DRabbitVNC_DIR=[RabbitVNC installation path]/lib/cmake/tigervnc #### TigerVNC + - Compile from source code The official program does not support libraries. @@ -154,9 +194,13 @@ Source-code location: https://github.com/KangLin/tigervnc cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake cmake --build . --config Release --target install -- Specify the CMake parameters: -Dtigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc +- When TigerVNC is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -Dtigervnc_DIR=[TigerVNC installation path]/lib/cmake/tigervnc #### libdatachannel + - Use vcpkg + Source-code location: https://github.com/microsoft/vcpkg/ @@ -177,9 +221,13 @@ Source-code location: https://github.com/KangLin/tigervnc cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install cmake --build . --config Release --target install - + Specify the CMake parameters: -Dlibdatachannel_DIR=[libdatachannel installation path]/lib/cmake/LibDataChannel +- When libdatachannel is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DLibDataChannel_DIR=[libdatachannel installation path]/lib/cmake/LibDataChannel #### QXmpp + - Compile from source code + Source-code location: [https://github.com/qxmpp-project/qxmpp](https://github.com/qxmpp-project/qxmpp) @@ -190,14 +238,21 @@ Source-code location: https://github.com/KangLin/tigervnc cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DQt5_DIR=[Qt install path]/lib/cmake/Qt5 cmake --build . --config Release --target install - + Specify the CMake parameters: -DQXmpp_DIR=[QXmpp installation path]/lib/cmake/qxmpp +- When QXmpp is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DQXmpp_DIR=[QXmpp installation path]/lib/cmake/qxmpp #### QTermWidget (Not currently supported on Windows) - Compile from source code + Source-code location: [https://github.com/lxqt/qtermwidget](https://github.com/lxqt/qtermwidget) - + Specify the CMake parameters: -Dqtermwidget5_DIR=[qtermwidget installation path]/lib/cmake/qtermwidget5 +- When QTermWidget is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -Dqtermwidget5_DIR=[qtermwidget installation path]/lib/cmake/qtermwidget5 #### libssh + - Use vcpkg + Source-code location: https://github.com/microsoft/vcpkg/ @@ -207,9 +262,13 @@ Source-code location: https://github.com/KangLin/tigervnc + Specify the CMake parameters: -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake - Compile from source code + Source code location: [https://www.libssh.org](https://www.libssh.org) - + Specify the CMake parameters: -Dlibssh_DIR=[libssh installation path]/lib/cmake/libssh +- When libssh is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -Dlibssh_DIR=[libssh installation path]/lib/cmake/libssh #### QtService + - Compile from source code + Source-code location: https://github.com/KangLin/qt-solutions/ @@ -220,13 +279,15 @@ Source-code location: https://github.com/KangLin/tigervnc cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install cmake --build . --config Release --target install - + Specify the CMake parameters: -DQtService_DIR=[QtService installation path]/lib/cmake/QtService +- When QtService is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DQtService_DIR=[QtService installation path]/lib/cmake/QtService ### PcapPlusPlus - Compile from source code + Source-code location: https://github.com/seladb/PcapPlusPlus - + Specify the CMake parameters: -DPcapPlusPlus_DIR=[PcapPlusPlus install path]/lib/cmake/pcapplusplus git clone https://github.com/seladb/PcapPlusPlus.git @@ -237,13 +298,21 @@ Source-code location: https://github.com/KangLin/tigervnc cd vcpkg vcpkg install pcapplusplus +- When PcapPlusPlus is compiled from source, + the CMake parameter needs to be specified to compile this project: + + -DPcapPlusPlus_DIR=[PcapPlusPlus install path]/lib/cmake/pcapplusplus + ### Compile this project + - Project location: [https://github.com/KangLin/RabbitRemoteControl](https://github.com/KangLin/RabbitRemoteControl) - Download the source code: git clone https://github.com/KangLin/RabbitRemoteControl.git - The CMake parameters: + + QT_ROOT: Qt install root + + Qt6_DIR or Qt5_DIR: Is same QT_ROOT + RabbitCommon_ROOT: RabbitCommon source-code location + BUILD_CLIENT: Compile client. the default is ON + BUILD_SERVICE: Compile service. the default dependency is whether there is a QtService @@ -279,7 +348,11 @@ Source-code location: https://github.com/KangLin/tigervnc cd RabbitRemoteControl mkdir build - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DBUILD_FREERDP=ON [options libraries] -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON + cmake .. -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_PREFIX=%CD%/install ^ + -DCMAKE_TOOLCHAIN_FILE=[vcpkg installation path]/scripts/buildsystems/vcpkg.cmake ^ + -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ + -DBUILD_FREERDP=ON [options libraries] cmake --build . --config Release --target install ; Package @@ -300,6 +373,6 @@ Source-code location: https://github.com/KangLin/tigervnc **Note:** If the plugin does not load. It may be that the plugin's dependencies are not installed on the system. -You can copy the dependent library into the application's bin directory. +You can copy the dependency libraries into the application's bin directory. See: [Compile integration](../../.github/workflows/msvc.yml) diff --git a/docs/Compile/Windows_zh_CN.md b/docs/Compile/Windows_zh_CN.md index 4396d8380..449ae2ea3 100644 --- a/docs/Compile/Windows_zh_CN.md +++ b/docs/Compile/Windows_zh_CN.md @@ -1,4 +1,5 @@ ## 为 Windows 编译 + 作者:康林 ### 环境 @@ -8,7 +9,7 @@ #### Qt Creator -版本:v11.0.0 。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 +版本:v14.0.2 。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 ### 工具 @@ -32,10 +33,26 @@ - DirectX: https://support.microsoft.com/zh-cn/topic/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84-directx-d1f5ffa5-dae2-246c-91b1-ee1e973ed8c2 运行 Qt 需要 - Qt - + Qt 官方发行版本:https://download.qt.io/official_releases/qt/ - 当前使用版本:Qt 6.7.0 - + IDE:Qt Creator。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 - 当前使用版本:12.0.2 + - Qt 官方发行版本:https://download.qt.io/official_releases/qt/ + 当前使用版本:Qt 6.8.2 + - 则需要设置环境变量(或者 CMAKE 参数): QT_ROOT、Qt6_DIR 或者 Qt6_DIR + - 环境变量 + + export QT_ROOT=Qt 安装位置 + #当使用 Qt6 时 + export Qt6_DIR=$QT_ROOT + #当使用 Qt5 时 + export Qt5_DIR=$QT_ROOT + + - CMAKE 参数 + + #当使用 Qt6 时 + cmake -DQT_ROOT=[Qt 安装位置] -DQt6_DIR=[Qt 安装位置] ...... + #当使用 Qt5 时 + cmake -DQT_ROOT=[Qt 安装位置] -DQt5_DIR=[Qt 安装位置] ...... + + - IDE:Qt Creator。建议使用 v5.0.2 及以后版本,以前版本对 CMake 支持不够。 + 当前使用版本:14.0.2 - Git: [https://www.git-scm.com/](https://www.git-scm.com/) [Git 设置](http://blog.csdn.net/kl222/article/details/32903495) - CMake: [https://www.cmake.org/](https://cmake.org/) @@ -73,12 +90,23 @@ - [可选] [FFMPEG:](https://ffmpeg.org/) 多媒体功能需要 #### 玉兔公共库 -此库默认放在与本项目同级目录下,如果没有在同级目录下,则必须指定 CMake 参数: --DRabbitCommon_ROOT=[RabbitCommon 安装目录] - git clone https://github.com/KangLin/RabbitCommon.git +- 此库默认放在与本项目同级目录下 + + git clone https://github.com/KangLin/RabbitRemoteControl.git + git clone https://github.com/KangLin/RabbitCommon.git + +- 如果没有在同级目录下,则必须指定 CMake 参数或者环境变量: + + git clone https://github.com/KangLin/RabbitRemoteControl.git + ; 设置环境变量 + set RabbitCommon_ROOT=[RabbitCommon 安装目录] + cd RabbitRemoteControl + ; 或者设置 CMake 参数 + cmake -DRabbitCommon_ROOT=[RabbitCommon 安装目录] ...... + +#### FreeRDP -#### FreeRDP - 使用 vcpkg + 源码位置: https://github.com/microsoft/vcpkg/ @@ -99,13 +127,16 @@ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DWITH_SERVER=ON cmake --build . --config Release --target install - + 指定 CMake 参数: - - -DBUILD_FREERDP=ON - - -DWinPR_DIR=[freerdp 安装目录]/lib/cmake/WinPR2 - - -DFreeRDP_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP2 - - -DFreeRDP-Client_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Client2 - +- 当 FreeRDP 从源码编译时,编译本项需要指定的 CMake 参数: + - -DBUILD_FREERDP=ON + - -DWinPR_DIR=[freerdp 安装目录]/lib/cmake/WinPR3 + - -DFreeRDP_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP3 + - -DFreeRDP-Client_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Client3 + - -DFreeRDP-Shadow_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Shadow3 + - -DFreeRDP-Server_DIR=[freerdp 安装目录]/lib/cmake/FreeRDP-Server3 + #### LibVNCServer + - 从源码编译 + 源码位置:[https://github.com/LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) 建议使用补丁: https://github.com/KangLin/libvncserver @@ -118,23 +149,29 @@ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake cmake --build . --config Release --target install - + 指定 CMake 参数:-DLibVNCServer_DIR=[LibVNCServer 安装目录]/lib/cmake/LibVNCServer +- 当 LibVNCServer 从源码编译时,编译本项需要指定的 CMake 参数: + + -DLibVNCServer_DIR=[LibVNCServer 安装目录]/lib/cmake/LibVNCServer #### RabbitVNC + - 从源码编译 -源码位置: https://github.com/KangLin/RabbitVNC + - 源码位置: https://github.com/KangLin/RabbitVNC - cd vcpkg - vcpkg install zlib openssl libjpeg-turbo pixman - git clone https://github.com/KangLin/RabbitVNC.git - cd RabbitVNC - mkdir build - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake - cmake --build . --config Release --target install + cd vcpkg + vcpkg install zlib openssl libjpeg-turbo pixman + git clone https://github.com/KangLin/RabbitVNC.git + cd RabbitVNC + mkdir build + cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake + cmake --build . --config Release --target install -- 指定 CMake 参数:-DRabbitVNC_DIR=[RabbitVNC 安装目录]/lib/cmake/RabbitVNC +- 当 RabbitVNC 从源码编译时,编译本项需要指定的 CMake 参数: + + -DRabbitVNC_DIR=[RabbitVNC 安装目录]/lib/cmake/RabbitVNC #### TigerVNC + - 从源码编译 官方只是个应用程序,不支持库。详见:https://github.com/TigerVNC/tigervnc/issues/1123 @@ -148,16 +185,18 @@ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake cmake --build . --config Release --target install -- 指定 CMake 参数:-Dtigervnc_DIR=[TigerVNC 安装目录]/lib/cmake/tigervnc +- 当 TigerVNC 从源码编译时,编译本项需要指定的 CMake 参数: + + -Dtigervnc_DIR=[TigerVNC 安装目录]/lib/cmake/tigervnc #### libdatachannel + - 使用 vcpkg + 源码位置: https://github.com/microsoft/vcpkg/ cd vcpkg vcpkg install libdatachannel - - + 指定 CMake 参数:-DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake + - 从源码编译 + 源码位置: [https://github.com/paullouisageneau/libdatachannel](https://github.com/paullouisageneau/libdatachannel) + 编译详见: [https://github.com/paullouisageneau/libdatachannel/blob/master/BUILDING.md](https://github.com/paullouisageneau/libdatachannel/blob/master/BUILDING.md) @@ -171,8 +210,12 @@ cmake --build . --config Release --target install + 指定 CMake 参数: -Dlibdatachannel_DIR=[libdatachannel 安装目录]/lib/cmake/LibDataChannel +- 当 libdatachannel 从源码编译时,编译本项需要指定的 CMake 参数: + + -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake #### QXmpp + - 从源码编译 + 源码位置: [https://github.com/qxmpp-project/qxmpp](https://github.com/qxmpp-project/qxmpp) @@ -183,14 +226,20 @@ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DQt5_DIR=[Qt 安装目录]/lib/cmake/Qt5 cmake --build . --config Release --target install - + 指定 CMake 参数: -DQXmpp_DIR=[QXmpp 安装目录]/lib/cmake/qxmpp +- 当 QXmpp 从源码编译时,编译本项需要指定的 CMake 参数: + + -DQXmpp_DIR=[QXmpp 安装目录]/lib/cmake/qxmpp -#### QTermWidget (暂不支持 Windows) +#### QTermWidget (暂不支持 Windows) + - 从源码编译 + 源码位置: [https://github.com/lxqt/qtermwidget](https://github.com/lxqt/qtermwidget) - + 指定 CMake 参数:-Dqtermwidget5_DIR=[qtermwidget 安装目录]/lib/cmake/qtermwidget5 +- 当 QTermWidget 从源码编译时,编译本项需要指定的 CMake 参数: + + -Dqtermwidget5_DIR=[qtermwidget 安装目录]/lib/cmake/qtermwidget5 #### libssh + - 使用 vcpkg + 源码位置: https://github.com/microsoft/vcpkg/ @@ -200,9 +249,11 @@ + 指定 CMake 参数:-DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake - 从源码编译 + 源码位置:[https://www.libssh.org](https://www.libssh.org) - + 指定 CMake 参数:-Dlibssh_DIR=[libssh 安装目录]/lib/cmake/libssh +- 当 libssh 从源码编译时,编译本项需要指定的 CMake 参数: + -Dlibssh_DIR=[libssh 安装目录]/lib/cmake/libssh #### QtService + - 从源码编译 + 源码位置:: https://github.com/KangLin/qt-solutions/ @@ -213,14 +264,15 @@ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install cmake --build . --config Release --target install - + 指定 CMake 参数: -DQtService_DIR=[QtService 安装目录]/lib/cmake/QtService +- 当 QtService 从源码编译时,编译本项需要指定的 CMake 参数: + + -DQtService_DIR=[QtService 安装目录]/lib/cmake/QtService ### PcapPlusPlus - 从源码编译 + 源码位置: https://github.com/seladb/PcapPlusPlus - + 指定 CMake 参数: -DPcapPlusPlus_DIR=[PcapPlusPlus install path]/lib/cmake/pcapplusplus - + git clone https://github.com/seladb/PcapPlusPlus.git - 使用 vcpkg @@ -230,13 +282,20 @@ cd vcpkg vcpkg install pcapplusplus +- 当 PcapPlusPlus 从源码编译时,编译本项需要指定的 CMake 参数: + + -DPcapPlusPlus_DIR=[PcapPlusPlus 安装目录]/lib/cmake/pcapplusplus + ### 编译本项目 + - 项目位置:[https://github.com/KangLin/RabbitRemoteControl](https://github.com/KangLin/RabbitRemoteControl) - 下载源码 git clone https://github.com/KangLin/RabbitRemoteControl.git -- CMake 参数 +- CMake 参数或者环境变量 + + QT_ROOT: Qt 安装位置 + + Qt6_DIR 或者 Qt5_DRI: 与 QT_ROOT 相同 + RabbitCommon_ROOT:RabbitCommon 源码位置 + BUILD_CLIENT: 编译客户端。默认为 ON + BUILD_SERVICE: 编译服务器端。默认依赖是否有 QtService @@ -272,7 +331,11 @@ cd RabbitRemoteControl mkdir build - cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CD%/install -DBUILD_FREERDP=ON [可选依赖库] -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON + cmake .. -DCMAKE_BUILD_TYPE=Release ^ + -DCMAKE_INSTALL_PREFIX=%CD%/install ^ + -DCMAKE_TOOLCHAIN_FILE=[vcpkg 安装目录]/scripts/buildsystems/vcpkg.cmake ^ + -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ + -DBUILD_FREERDP=ON [可选依赖库] cmake --build . --config Release --target ; 打包