开源项目推荐:基于Qt开发的远程桌面监控和文件传输软件Aspia
官网
start [Aspia]
GitHub - dchapyshev/aspia: Remote desktop and file transfer tool.
Index of /dev 已编译的第三方依赖库
aspia/building.md at master · dchapyshev/aspia · GitHub 源码编译说明
GitHub - SoftwareNetwork/binaries: Mirror of sw binaries from https://software-network.org/client/
x86 or x86_64 CPU with SSE2
Windows 7/2008 R2 or higher, Debian/Ubuntu Linux, MacOS X
源码怎么编译?
一、先要安装vcpkg这个工具
1、官网下载最新版 Releases · microsoft/vcpkg · GitHub
2、解压,然后双击执行\vcpkg-2021.05.12\bootstrap-vcpkg.bat,稍等一会,会生成vcpkg.exe
3、cmd命令行执行vcpkg integrate install
C:\Users\firecat>cd T:\tmp-source\aspia\vcpkg-2021.05.12C:\Users\firecat>T:T:\tmp-source\aspia\vcpkg-2021.05.12>vcpkg integrate install
Applied user-wide integration for this vcpkg root.All MSBuild C++ projects can now #include any installed libraries.
Linking will be handled automatically.
Installing new libraries will make them instantly available.CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=T:/tmp-source/aspia/vcpkg-2021.05.12/scripts/buildsystems/vcpkg.cmake"T:\tmp-source\aspia\vcpkg-2021.05.12>
更多关于vcpkg的安装知识,详情见:
vcpkg安装和使用--学习入门_你好,Albert的博客-CSDN博客_vcpkg安装
4、VS2019需要安装英文语言包
因为vcpkg的源码写的比较死板(部分路径都是写死的),导致该工具无法识别中文的开发环境。
办法:VS2019菜单-工具-获取工具和功能
二、想编译Aspia v2.1以上的源码,须知:
1、cmkae版本必须在v3.20以上
2、Qt版本必须在v5.14以上,否则会出现Unknown CMake command "qt5_import_plugins"的错误
https://github.com/dchapyshev/aspia/issues/108
3、下载并安装OpenSSL
Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
下载x86位的安装包Win32OpenSSL-1_1_1k.exe。
openssl在1.0.x之前的版本中,文件为libeay32.dll和ssleay32.dll,在1.1.x之后的版本中,名字是libssl.dll和libcrypto.dll
C:\Program Files (x86)\OpenSSL-Win32\lib\VC\libssl32MD.lib
C:\Program Files (x86)\OpenSSL-Win32\lib\VC\libcrypto32MD.lib
4、第三方库和依赖库都是32位的:
vcpkg install asio:x86-windows-static
vcpkg install gtest:x86-windows-static
vcpkg install libvpx:x86-windows-static
vcpkg install libyuv:x86-windows-static
vcpkg install openssl:x86-windows-static
vcpkg install opus:x86-windows-static
vcpkg install protobuf:x86-windows-static
vcpkg install rapidjson:x86-windows-static
vcpkg install rapidxml:x86-windows-static
vcpkg install sqlite3:x86-windows-static
vcpkg install libwebm:x86-windows-static
vcpkg install zstd:x86-windows-static
5、aspia_host_core必须是dll,要编译成动态库,而非静态库
6、出现Could NOT find Protobuf (missing: Protobuf_PROTOC_EXECUTABLE)这个错误提示,怎么办?请看我的另一篇博文:
Could NOT find Protobuf (missing: Protobuf_PROTOC_EXECUTABLE)_$firecat全宏的代码足迹$-CSDN博客
x、cmake的选项
早期我使用Qt5.14.2配置编译了一次;
后来某天我又使用Qt5.15.2配置编译了一次;
源码有若干处需要调整
1、qm路径
C:\Users\Administrator\Desktop\aspia-master\source\qt_base\CMakeLists.txt
删除file(GLOB QT_QM_FILES ${Qt5_DIR}/../../qt5/translations/*.qm)
改为file(GLOB QT_QM_FILES ${Qt5_DIR}/../../../translations/*.qm)
if(Qt5LinguistTools_FOUND)# Get the list of Qt translation files.#file(GLOB QT_QM_FILES ${Qt5_DIR}/../../qt5/translations/*.qm)file(GLOB QT_QM_FILES ${Qt5_DIR}/../../../translations/*.qm)add_qt_translations(aspia_qt_base QRC_FILE "qt_translations.qrc" QM_FILES ${QT_QM_FILES})
else()message(WARNING "Qt5 linguist tools not found. Internationalization support will be disabled.")
endif()
2、qrc资源文件
C:\Users\Administrator\Desktop\aspia-master\source\qt_base\qt_translations.qrc
C:\Users\Administrator\Desktop\aspia-master\x86\source\qt_base\qt_translations.qrc
删除<file>qtbase_tr.qm</file>
3、编译出错,如下,怎么办?
>C:\Qt\5.15.2\msvc2019\plugins\bearer\qgenericbearer.dll : fatal error LNK1107: 文件无效或损坏: 无法在 0x2F8 处读取
打开VS配置对话框,导入库里面,把*.dll文件去掉
x、编译时,以下库需要重点关注,VS配置导入库时,需要指向它们
D:\vcpkg\packages\libwebm_x86-windows-static\debug\lib\libwebmd.lib
D:\vcpkg\packages\libwebm_x86-windows-static\lib\libwebm.lib
编译遗留问题声明
1、Debug和Release都能顺利编译通过。但是Debug的生成的exe运行会报错。
凡是源码有LOG(...)的语句,debug都过不了。
2、Release怎么断点调试?
(1)设置调试信息格式为:用于“编辑并继续”的程序数据库(/ZI)
操作:项目->属性->配置属性->C/C++ ->常规 ->调试信息格式
(2)设置生成调试信息为:是(/DEBUG)
操作:项目->属性->配置属性->链接器->调试->生成调试信息
(3)设置优化为:已禁用(/Od)
操作:项目->属性->配置属性->C/C++ ->优化
(4)删除解决方案下的.ncb文件,如果有的话
(5)工具->选项->调试->要求与原始版本完成匹配,去掉勾选
不仅exe项目,dll和静态lib的子项目也需要按照以上要求设置。
---
详细教程:
远程控制软件Aspia详细教程_bhzsisui的专栏-CSDN博客
它山之石:
RustDesk | 开源远程桌面软件
GitHub - rustdesk/rustdesk: Yet another remote desktop software
开源项目推荐:基于Qt开发的远程桌面监控和文件传输软件Aspia相关推荐
- 【开源项目】基于QT录制PCM音频实例详细
#include "QtAudio_input.h" #include <QtWidgets/QApplication> #include<QAudioInput ...
- 开源项目推荐:本人收集的有关Qt的GitHub/Gitee开源项目(★精品收藏★)
尊重作者,支持原创,如需转载,请附上原地址:开源项目推荐:Qt有关的GitHub/Gitee开源项目(★精品收藏★)_$firecat全宏的代码足迹$-CSDN博客_qt开源项目https://lib ...
- 基于QT ffmpeg的动态桌面壁纸
基于QT ffmpeg的动态桌面壁纸 目前制作了一个基于QT ffmpeg的动态桌面壁纸,源码程序在github上 下面为链接: 动态壁纸软件 项目名为 DesktopDynamicWallpaper ...
- QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)
QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★) 文章目录 QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★) 本篇副标题: 本篇博客讲了什么or解决了什么问 ...
- QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★)
QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 文章目录 QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 本篇副标题: 本篇博客讲了什么or解决了什么问 ...
- 改:如何基于开源项目做二次开发
改:如何基于开源项目做二次开发 [保持纯洁,加以包装] 当我们发现开源项目有的地方不满足我们的需求的时候,自然会有一种去改改的冲动,但是怎么改是个大学问.一种方式是投入几个人从内到外全部改一遍,将其 ...
- 27款实用高效的腾讯热门开源项目推荐
WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库,是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一. DEMO:https: ...
- 开源项目推荐:OpenGL/Vulkan/Cairo/Skia/angle/VTK/OpenVG/MyPaint/GIMP/Krita/Pencil2D/inkspace/enve等绘图库或画图软件
绘图引擎简介 Windows环境下二维绘图引擎有多种选择:GDI.GDI+.DirectDraw.Qt/QPainter.Agg.Cairo.skia.Direct2D.Direct3D.OpenGL ...
- 开源项目推荐:OpenGL之gult/freeglut/glew/glfw/glad的联系与区别
本篇内容主要参考了文章:OpenGL+VS2017 环境配置(亲测好使)::附带必要知识点_FuXiii的博客-CSDN博客_vs2017环境配置,但是经过本人局部修改,并添加了个人见解. 1.Ope ...
- 开源项目推荐:我个人中意的Python/C++/.Net数学库(★精品收藏★)
Numpy和SciPy 大名鼎鼎的 NumPy python版本 https://github.com/numpy/numpy https://github.com/dpilger26/NumCpp ...
最新文章
- 卧槽!又一 SQL 神器面世!!
- React的深入解密一
- python编程大赛队名_【推荐】程序员团队名称和口号word版本 (12页)
- Linux运维:CentOS7下查看内存占用
- pytorch:一维线性回归(二)
- layui 数据表格 日期格式化
- python反向迭代器_Python中对象迭代与反迭代的技巧总结
- android studio创建第一个安卓程序加载html5页面(一)
- 【干货】企业如何进行数字化转型及如何称为数据驱动型企业?
- fseek linux 大文件_上传大文件
- 在CSS中clear属性的妙用
- 损失函数的“噪音免疫力”
- 谈一下今天的网络赛。。。这次是真的弱爆了。。。。
- 计算机电路板工作原理,充电宝电路板原理图的说明
- 电脑windows系统动态壁纸装X器wallpaper engine下载资源和使用教程
- 天正双击墙体不能编辑_20个天正CAD常备技巧,助你神速绘图!
- 隐藏水滴屏的软件_隐藏水滴屏的软件
- CSS盒模型的2个误区
- linux redhat 去掉警报声音
- Win键失效解决方案+键盘检测器