UltraVNC源码编译流程
前言:之前工作远程公司电脑一直用的teamviewer,因为没钱购买,总是遭遇超时限制使用的尴尬。后来用了国产的一个远程工具向日葵,确实不错,免费使用,也挺流畅的,缺点就是非付费用户只能远程一台机器(表示理解)。用久了也想自己弄个来耍耍,开源代码很多,下面选定UltraVNC,在此基础上做些符合自己使用习惯的修改,首先从编译开始。
1.源码
官网地址:https://www.uvnc.com/
github上源码地址:https://github.com/ultravnc/UltraVNC
说明:官网上有源码可以下载,不过实在是太慢了,推荐github上下载就行了。
2.编译
编译版本:1.3.2a
编译器:visual studio 2017
说明:源码维护的还算可以,没有太多编译问题,直接编译通过即可。使用上编译通过winvnc、vncviwerl两个工程,获得可执行文件winvnc.exe、vncviewer.exe,分别对应服务器端(等待接入)和客户端(用来接入),拷贝到环境运行即可开始远程。
问题记录
1.e:\code\github\ultravnc\vncviewer\keymap.h(173): error C2001: 常量中有换行符
解决:看输出错误那么多,一脸懵逼。不过仔细想想也简单。就是keymap.h这个文件编码不是Unicode,ide加载文件自动转Unicode载入了,然后转的还有还有问题,就是乱码了。我的解决方法是直接github上看文件内容,把文件内容全部复制覆盖到ide打开的文件,问题解决。
2.1>LINK : fatal error LNK1104: 无法打开文件“zlibstat.lib”
解决:zlibstat这个库没有,编译出来就好。UltraVNC代码里是有zstd-1.4.4代码的,不过缺少文件编译不过。具体就是从github把zstd源码下载下来,把缺少的文件拷贝到UltralVnc工程里,即可编译通过。UltraVnc工程里有把这个库编译转的2017工程的,统一用2017工程编译吧。
zstd源码地址:https://github.com/facebook/zstd
3.nasm找不到问题,上官网下载这个编译器安装即可。
nasm官网地址:https://www.nasm.us/
UltraVNC源码编译流程相关推荐
- Jetson Agx Xavier USB驱动裁剪+can时钟修改+内核源码编译流程(jetpack4.6.1)
自己做了一块Xavier载板,硬件裁剪了一些功能,导致官方镜像usb无法使用,我使用的是jetpack4.6.1(R32.7.1),所以进行驱动修改,重新编译内核. 一.虚拟机环境 在Windows下 ...
- Jetson Xavier NX 内核编译、源码编译流程
[NVIDIA] 从零入手 Jetson Xavier NX 内核编译.源码编译流程 – ***注明:感谢网友提醒,我当时买的时候nx套件还没开售,因为核心板兼容b01,先买了核心板和b01的板子合在 ...
- 在龙芯3a5000处理器上进行qt-5.11.3源码编译流程与遇到的问题
1.环境说明 处理器:Loongson-3A5000M 统信桌面操作系统 Linux 注意网上很多帖写的都是适用于龙芯3a4000的,龙芯3a4000指令集是mips,龙芯3a5000指令集为Loon ...
- Android源码编译流程及所需的编译环境
编译过程: 下载源码->搭建编译环境->编译源码->解决编译报错->生成编译固件包 编译环境 本文使用的是下载好的Android8.1源码,搭建好的虚拟机Ubuntu14.0/ ...
- OpenCPN + Ubuntu 18.04 源码编译 + Codeblocks 调试 + wxFormBuilder 安装
OpenCPN + Ubuntu 18.04 源码编译 文章目录 一.参考资料 二.源码编译流程 三.利用 IDE 编译 四.利用 IDE 调试 四.测试界面开发工具 一.参考资料 OpenCPN - ...
- 【Android Gradle】安卓应用构建流程 ( Java 源码编译 和 AIDL 文件编译 )
文章目录 一.安卓应用构建简介 二.Java 源码编译 三.AIDL 源码编译 一.安卓应用构建简介 使用 Android Studio 开发 Android 应用时 , 编译应用后在 Module ...
- JVM——从源码编译到类执行与内存管理全流程梳理
从Java源码编译开始说起 分为三个步骤: 1:分析和输入到符号表 分析:词法和语法分析,将代码字符串转变为token序列,由token序列生产抽象语法树 输入:将符号输入到符号表,确定类的超类型和接 ...
- mysql5.7 cmake源码编译安装
mysql5.7 cmake源码编译安装, -----该文章的知识点是一个大牛总结的,我这里只是加工了一下,非原创文章. 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像 ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- 项目编译失败_Swift源码编译让底层更清晰
WWDC2020 大会将通过 Apple Developer App 和 Apple Developer网站免费向所有开发者开放! 从去年火遍全网的 SwiftUI 以及 Combine 到今年全新的 ...
最新文章
- 《图解HTTP》读书笔记--第2章简单的HTTP协议
- FreeBSD portupgrade升级你的FreeBSD软件[zt]
- checkbox全选 js
- javascript中的异步编程
- H.264码流解析 一个SPS的nalu及获取视频的分辨率
- mysql as tmp,启动mysql时显示:/tmp/mysql.sock 不存在的解决办法
- (转)Apache 中 KeepAlive 配置的合理使用
- 存储过程与触发器的区别
- js关闭当前页面窗口的问题
- VMWare学习总结(1)——Centos7安装完毕后无法联网的解决方法
- 设置xy轴名称_最强干货来了:Grasshopper运算器名称总结(上篇)
- 《Solution-Centric Organization》解决方案导向型组织 节选 IV
- java线程池测试,Java线程池【测试Markdown样式】
- Vanya and Triangles 暴力枚举
- python网址规律_数列规律寻找 - python 爬虫 OEIS (2020.10.6更新)
- 省市区县街道地图json
- linux wr vi 命令,Linux下Vi命令详解
- EMC之 “不整改好别回来了”
- 网络互联期末作业复习题
- 平面的投影变换(1)——什么是投影变换?
热门文章
- opencv-python——基于标志物的道路逆透视变换
- 前端实现批量下载图片(自己的服务器需设置可跨域请求)
- 阿里怎么用DDD来拆分微服务?
- buuoj 小易的U盘
- Seaborn使用violinplot函数可视化分组小提琴图(violin plot)、使用inner函数设置在小提琴图中使用虚线显示分位数位置(inner = ‘quartile‘)
- 读《灵魂只能独行》乱摘
- 栈evaluate-reverse-polish-notation-leetcode练习题
- 自动化部署流程_自动化会议提交工作流程:部署到生产
- TIA protal与SCL从入门到精通(3)——软件单元基本介绍
- Unity 生成随机房间、洞穴(2D、3D地图)总结