Windows平台下构建TigerVNC项目


VNC是一种远程图形化桌面协议, 而TigerVNC(Tiger Virtual Network Computing)是VNC协议的一个实现。通过TigerVNC应用, 我们可以实现跨平台的远程桌面控制。TigerVNC的项目地址如下所示:
https://github.com/TigerVNC/tigervnc。

有一点需要注意, 由于TigerVNC的 Windows 端已经没人维护了, 在使用过程中可能会出现问题。

下面介绍一下如何在Windows平台下构建TigerVNC项目:

在Windows平台下构建需要使用 mingw 编译器, 推荐使用MSYS2来提供类mingw编译环境。
安装好MSYS2之后, 进入MSYS2-MINGW64 / MSYS2-MINGW32 终端, 配置开发环境。

配置开发环境

1.配置镜像源

由于Mingw配置开发环境的时候, 需要下载一些软件包, 所以为了提升下载速度我们需要更新一下对应的镜像源。

更新源的地址信息在 InstallDir\msys64\etc\pacman.d目录中, 文件列表为:mirrorlist.mingw32、mirrorlist.mingw64 和 mirrorlist.msys。

在mirrorlist.msys文件的最上面添加下面的镜像地址:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

在mirrorlist.mingw32文件的最上面添加下面的镜像地址:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

在mirrorlist.mingw64文件的最上面添加下面的镜像地址:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64

2.更新源信息

源地址更新完毕之后, 在对应的终端上, 执行更新命令来同步源信息

pacman -Syu  

3.安装对应的依赖库

pacman -Syu 
pacman -S make yasm diffutils pkg-config
pacman -S mingw-w64-i686-cmake
pacman -S mingw-w64-i686-fltk
pacman -S mingw-w64-i686-gnutls
pacman -S mingw-w64-i686-gcc
pacman -S mingw-w64-i686-make
pacman -S mingw-w64-i686-pixman

4.修改编译依赖库

在静态编译过程中tigerVNC会报各种错误异常, 有的时候错误是依赖库出了问题, 这里我们修改一下依赖库文件; 文件地址为:tigervnc\cmake\StaticBuild.cmake。 修改内容如下:

# 第68行
set(GNUTLS_LIBRARIES "-Wl,-Bstatic -lgnutls -lpthread -lzstd -lbrotlienc -lbrotlicommon -lbrotlidec")

# 第184行
if(WIN32)
    set(STATIC_BASE_LIBRARIES "${STATIC_BASE_LIBRARIES} -lmingw32 -lgcc_eh -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread")

5.执行编译

# 创建构建目录
cd tigerVNC
mkdir build
cd build

# 指定GNUTLS目录地址 构建方式为静态编译
cmake -G "MinGW Makefiles"  -DGNUTLS_INCLUDE_DIR=/mingw64/include -DGNUTLS_LIBRARY=/mingw64/lib/libgnutls.a -DBUILD_STATIC=1 ../

# 进行构建
mingw32-make.exe

运行程序

tigerVNC生成的各个应用的作用:

vncviewer     # 是跨平台的TigerVNC客户端 使用FLTK编写  
winvnc        # 是Windows系统下的tigerVNC的服务端  
vncconfig     # 用来配置和控制正在运行的VNC  

在被控端启动winvcn等待被控, 然后在控制端启动vncviewer并输入被控端的IP地址就可以实现远程控制了。

猜你喜欢

转载自blog.csdn.net/yang1fei2/article/details/132068936