tightvnc 在 vs2015 下编译的问题

2016 年 06 月 08 日

tightvnc是一个vncserver/viewer的开源实现,但原始工程是在vs2012下编译通过的,在vs2015中由于一些改动,导致无法编译通过。需要做如下修改:

  1. 编译问题,viewer-core中的RemoteViewerCore.cpp中,1206行,需要把const char改成char
  2. 链接问题,tvnviewer中,需要加入链接库legacy_stdio_definitions.lib
  3. libjpeg-turbo链接问题,这个比较复杂,参考https://github.com/libjpeg-turbo/libjpeg-turbo/issues/45 ,有几种解决方案,我是选择了在vs2015下重编libjpeg-turbo,如下:
  • 安装cmake和nasm,并将cmake和nasm加入path
  • 下载libjpeg-turbo源码,https://github.com/libjpeg-turbo/libjpeg-turbo
  • 用cmake生成vs2015版本的sln工程文件,这里可以参考libjpeg-turbo/BUILDING.md
  • 使用vs2015编译libjpeg-turbo,得到debug/jpeg-static.lib
  1. 然后覆盖原来tightvnc目录下libjpeg-turbo/jpeg-static.lib即可,如需64位版本,则需将第3步重做一遍,只是cmake生成的地方选择生成64位版本的sln工程
Top