当前位置:   article > 正文

关于rustdesk源码二次改造并编译打包的问题_rustdesk 编译

rustdesk 编译

目录

前言

二、使用步骤

1.安装软件

2.命令操作

3.关于编译和构建

4.打包

1.首先介绍可安装的

2.下面是直接可执行程序

 5.其他问题

6.总结

参考文章


前言

因为向日葵等远程软件存在文件传输不稳定,限速等问题,公司要求对开源软件rustdesk下手(我也是第一次接触。。),于是我便开始研究。


一、rustdesk是什么?

官方的简要描述是:用 Rust 编写。开箱即用,无需配置。您可以完全控制您的数据,无需担心安全问题。您可以使用我们的集合点/中继服务器。

反正就是一个向日葵和teamviewer的替代品。

rustdesk官网的地址:https://rustdesk.com/zh/

开源代码在github上的地址:https://github.com/rustdesk/rustdesk

二、使用步骤

稍微看了一下源码,页面使用react写的,后端代码是用rust(我也没学过。。。)类似于c++,公司需求主要是改页面和ip固定,那其实还是比较简单的毕竟这样不用深究原理啥的,废话不多说,我们直接开始准备环境

1.安装软件

  1. Git-----到时候从github或gitee上拉源码(Git - Downloads
  2. rustup-init----rust开发环境,反正就是安装进去输个1等待下载完成就ok了(Rust 环境搭建 | 菜鸟教程注意检查cargo -V和 rustc -V
  3. c++的环境,我是直接在visual studio 2022社区版上下载的(方式很多)
  4. 最后是LLVM,查了一下是用来优化编译速度的,其实后面编译还是很慢。。(LLVM Download Page注意这个安装的最后选择add llvm to the system Path for all users进行环境变量添加,不然后续编译可能会报错

2.命令操作

  1. 首先建一个文件夹,我们把东西都放在这里面,直接右键git bash here打开命令行,我是在E盘下面操作
  1. #切换到E盘
  2. e:
  3. #创建一个work目录并进入
  4. mkdir work
  5. cd work/
  6. #下面使用命令安装vcpkg,并VCPKG_ROOT正确设置环境变量
  7. #拉取vcpkg的源码
  8. git clone https://github.com/microsoft/vcpkg
  9. #在work根目录下执行,在vcpkg文件根目录生成vcpkg.exe文件
  10. ./vcpkg/bootstrap-vcpkg.bat
  11. #添加系统环境变量(参照我的自行修改)
  12. 变量名:VCPKG_ROOT
  13. 变量值:E:\work\vcpkg
  14. #执行安装环境,这里是个大坑,因为他下载东西是外网的,所以你要么找个科学上网器(这个比较轻松),要么用其他方式下载了放到固定的目录,不然会报错。
  15. vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
  16. #下面就是拉取rustdesk源码了
  17. git clone https://github.com/rustdesk/rustdesk
  18. #进入rustdesk根目录
  19. cd rustdesk/
  20. #下载sciter.dll,用来辅助编译运行的,下载地址(https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
  21. #在rustdesk根目录下建文件夹target,进入target建文件夹debug,然后将sciter.dll放进去
  22. #上面步骤出都没有出现错误在rustdesk根目录下执行
  23. cargo run
  24. #等待编译完成会弹出rustdesk的图形界面

3.关于编译和构建

  1. cargo run 成功后将依赖和exe生成在debug目录下,若想要直接双击rustdesk.exe文件运行,需要将rustdesk根目录的src复制一份到debug根目录下(不然会黑屏或白屏)
  2. 项目构建用cargo build 或 cargo build --release,后面这个会在debug同级目录下生成一个release文件夹,我感觉和debug的没啥区别,说是啥优化版本,我也不会。

4.打包

官方提供的是两种:一种是执行运行的,一种是可安装的。

1.首先介绍可安装的

  • 从官方下载的源码中有个setup.nsi文件,需要借助nsis打包工具
  • 下载nsis工具无脑安装Download NSIS: Nullsoft Scriptable Install System from SourceForge.net

  • 添加下面代码到文件指定位置,注意路径对应,有错的自行修改

    1. #File "${PRODUCT_NAME}.exe"
    2. File "target\release\${PRODUCT_NAME}.exe"
    3. File "target\release\sciter.dll"
    4. SetOutPath $INSTDIR\src
    5. File /r "src\ui"
    6. SetOutPath $INSTDIR

  • 打开nsis工具导入文件执行 

  • 最后当前目录下生产安装包 rustdesk-1.1.9-setup.exe(可按最后的参考文章进行)

2.下面是直接可执行程序

  1. 其实生成的文件只需三个就可以运行
  2. 原理就是选中这三个文件用winrar压缩成exe文件(参考这篇文章不过多介绍【WINRAR】执行文件+依赖库统一打包成一个exe文件_赟赟赟的博客-CSDN博客_winrar打包exe

 5.其他问题

  1. 关于点击exe执行文件产生命令行窗口,需要修改main.rs源码文件中的代码,#![windows_subsystem = "windows"]注释掉窗口显示。
  2. 目前该项目并不是完全开源,只是开源了80%左右,作者还是保留部分源码,目前rustdesk已经好几个月没更新了,这是官网回复的原因
  3. 该软件尽量在windows10以及以上运行,老系统或部分环境出现错误建议关闭杀毒软件试试

6.总结

        文章可能部分有错,我是小白望多指正。。


参考文章

rust 02 rustdesk基于rust的开源远程控制软件_longji的博客-CSDN博客_rust远程控制

【WINRAR】执行文件+依赖库统一打包成一个exe文件_赟赟赟的博客-CSDN博客_winrar打包exe

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/212957
推荐阅读
相关标签
  

闽ICP备14008679号