前言:之前工作远程公司电脑一直用的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源码编译流程相关推荐

  1. Jetson Agx Xavier USB驱动裁剪+can时钟修改+内核源码编译流程(jetpack4.6.1)

    自己做了一块Xavier载板,硬件裁剪了一些功能,导致官方镜像usb无法使用,我使用的是jetpack4.6.1(R32.7.1),所以进行驱动修改,重新编译内核. 一.虚拟机环境 在Windows下 ...

  2. Jetson Xavier NX 内核编译、源码编译流程

    [NVIDIA] 从零入手 Jetson Xavier NX 内核编译.源码编译流程 – ***注明:感谢网友提醒,我当时买的时候nx套件还没开售,因为核心板兼容b01,先买了核心板和b01的板子合在 ...

  3. 在龙芯3a5000处理器上进行qt-5.11.3源码编译流程与遇到的问题

    1.环境说明 处理器:Loongson-3A5000M 统信桌面操作系统 Linux 注意网上很多帖写的都是适用于龙芯3a4000的,龙芯3a4000指令集是mips,龙芯3a5000指令集为Loon ...

  4. Android源码编译流程及所需的编译环境

    编译过程: 下载源码->搭建编译环境->编译源码->解决编译报错->生成编译固件包 编译环境 本文使用的是下载好的Android8.1源码,搭建好的虚拟机Ubuntu14.0/ ...

  5. OpenCPN + Ubuntu 18.04 源码编译 + Codeblocks 调试 + wxFormBuilder 安装

    OpenCPN + Ubuntu 18.04 源码编译 文章目录 一.参考资料 二.源码编译流程 三.利用 IDE 编译 四.利用 IDE 调试 四.测试界面开发工具 一.参考资料 OpenCPN - ...

  6. 【Android Gradle】安卓应用构建流程 ( Java 源码编译 和 AIDL 文件编译 )

    文章目录 一.安卓应用构建简介 二.Java 源码编译 三.AIDL 源码编译 一.安卓应用构建简介 使用 Android Studio 开发 Android 应用时 , 编译应用后在 Module ...

  7. JVM——从源码编译到类执行与内存管理全流程梳理

    从Java源码编译开始说起 分为三个步骤: 1:分析和输入到符号表 分析:词法和语法分析,将代码字符串转变为token序列,由token序列生产抽象语法树 输入:将符号输入到符号表,确定类的超类型和接 ...

  8. mysql5.7 cmake源码编译安装

    mysql5.7 cmake源码编译安装, -----该文章的知识点是一个大牛总结的,我这里只是加工了一下,非原创文章. 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像 ...

  9. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  10. 项目编译失败_Swift源码编译让底层更清晰

    WWDC2020 大会将通过 Apple Developer App 和 Apple Developer网站免费向所有开发者开放! 从去年火遍全网的 SwiftUI 以及 Combine 到今年全新的 ...

最新文章

  1. 《图解HTTP》读书笔记--第2章简单的HTTP协议
  2. FreeBSD portupgrade升级你的FreeBSD软件[zt]
  3. checkbox全选 js
  4. javascript中的异步编程
  5. H.264码流解析 一个SPS的nalu及获取视频的分辨率
  6. mysql as tmp,启动mysql时显示:/tmp/mysql.sock 不存在的解决办法
  7. (转)Apache 中 KeepAlive 配置的合理使用
  8. 存储过程与触发器的区别
  9. js关闭当前页面窗口的问题
  10. VMWare学习总结(1)——Centos7安装完毕后无法联网的解决方法
  11. 设置xy轴名称_最强干货来了:Grasshopper运算器名称总结(上篇)
  12. 《Solution-Centric Organization》解决方案导向型组织 节选 IV
  13. java线程池测试,Java线程池【测试Markdown样式】
  14. Vanya and Triangles 暴力枚举
  15. python网址规律_数列规律寻找 - python 爬虫 OEIS (2020.10.6更新)
  16. 省市区县街道地图json
  17. linux wr vi 命令,Linux下Vi命令详解
  18. EMC之 “不整改好别回来了”
  19. 网络互联期末作业复习题
  20. 平面的投影变换(1)——什么是投影变换?

热门文章

  1. opencv-python——基于标志物的道路逆透视变换
  2. 前端实现批量下载图片(自己的服务器需设置可跨域请求)
  3. 阿里怎么用DDD来拆分微服务?
  4. buuoj 小易的U盘
  5. Seaborn使用violinplot函数可视化分组小提琴图(violin plot)、使用inner函数设置在小提琴图中使用虚线显示分位数位置(inner = ‘quartile‘)
  6. 读《灵魂只能独行》乱摘
  7. 栈evaluate-reverse-polish-notation-leetcode练习题
  8. 自动化部署流程_自动化会议提交工作流程:部署到生产
  9. TIA protal与SCL从入门到精通(3)——软件单元基本介绍
  10. Unity 生成随机房间、洞穴(2D、3D地图)总结