开源项目推荐:基于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

源码怎么编译h2>

一、先要安装vcpkg这个工具

1、官 下载最新版 Releases · microsoft/vcpkg · GitHub

2、解压,然后双击执行vcpkg-2021.05.12bootstrap-vcpkg.bat,稍等一会,会生成vcpkg.exe

3、cmd命令行执行vcpkg integrate install

更多关于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-Win32libVClibssl32MD.lib
C:Program Files (x86)OpenSSL-Win32libVClibcrypto32MD.lib

4、第三方库和依赖库都是32位的:

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:UsersAdministratorDesktopaspia-mastersourceqt_baseCMakeLists.txt

删除file(GLOB QT_QM_FILES ${Qt5_DIR}/../../qt5/translations/*.qm)
改为file(GLOB QT_QM_FILES ${Qt5_DIR}/../../../translations/*.qm)

2、qrc资源文件

C:UsersAdministratorDesktopaspia-mastersourceqt_baseqt_translations.qrc
C:UsersAdministratorDesktopaspia-masterx86sourceqt_baseqt_translations.qrc

删除qtbase_tr.qm

3、编译出错,如下,怎么办p>

>C:Qt5.15.2msvc2019pluginsbearerqgenericbearer.dll : fatal error LNK1107: 文件无效或损坏: 无法在 0x2F8 处读取

 打开VS配置对话框,导入库里面,把*.dll文件去掉

x、编译时,以下库需要重点关注,VS配置导入库时,需要指向它们

D:vcpkgpackageslibwebm_x86-windows-staticdebugliblibwebmd.lib

D:vcpkgpackageslibwebm_x86-windows-staticliblibwebm.lib

编译遗留问题声明

1、Debug和Release都能顺利编译通过。但是Debug的生成的exe运行会 错。

凡是源码有LOG(…)的语句,debug都过不了。
2、Release怎么断点调试p>

(2)设置生成调试信息为:是(/DEBUG)
操作:项目->属性->配置属性->链接器->调试->生成调试信息

(3)设置优化为:已禁用(/Od)
操作:项目->属性->配置属性->C/C++ ->优化

(4)删除解决方案下的.ncb文件,如果有的话

(5)工具->选项->调试->要求与原始版本完成匹配,去掉勾选

不仅exe项目,dll和静态lib的子项目也需要按照以上要求设置。

详细教程:

远程控制软件Aspia详细教程_bhzsisui的专栏-CSDN博客

它山之石:

RustDesk | 开源远程桌面软件

GitHub – rustdesk/rustdesk: Yet another remote desktop software

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月5日
下一篇 2022年7月5日

相关推荐