TightVNC 2.0.4在VC2010下的编译
TightVNC 2.0.4在VC2010下的编译 TightVNC 2.0.4版本由服务端tvnserver-2.0.4和客户端tvnviewer-1.5.4组成。可从http://www.tightvnc.com/download.php获取源码。本文介绍在vc2010下编译TightVNC2.0.04。 编译服务端tvnserver-2.0.4 修改desktop-ipc工程,排
TightVNC 2.0.4在VC2010下的编译
TightVNC 2.0.4版本由服务端tvnserver-2.0.4和客户端tvnviewer-1.5.4组成。可从http://www.tightvnc.com/download.php获取源码。本文介绍在vc2010下编译TightVNC2.0.04。
编译服务端tvnserver-2.0.4
修改desktop-ipc工程,排除IpcServer.cpp文件。
因为desktop-ipc工程包含了一个不存在的文件IpcServer.cpp,直接编译会提示找不到IpcServer.cpp文件,因此需要从工程中排除此文件。右键选择该文件,在在弹出菜单中选择Properties,弹出属性对话框,在Configuration Properties/General选项卡中,修改Exclude From Build的值为yes,默认为No。
修改win-system工程,添加文件PipeImpersonatedThread.cpp,否则在连接tvnserver时会出现如下link错误:
1>------ Build started: Project: tvnserver, Configuration: Debug Win32 ------
1>win-system.lib(WTS.obj) : error LNK2019: unresolved external symbol "public: virtual __thiscall PipeImpersonatedThread::~PipeImpersonatedThread(void)" (??1PipeImpersonatedThread@@UAE@XZ) referenced in function __catch$?duplicatePipeClientToken@WTS@@SAXPAX@Z$0
1>win-system.lib(WTS.obj) : error LNK2019: unresolved external symbol "public: void __thiscall PipeImpersonatedThread::getFaultReason(class StringStorage *)" (?getFaultReason@PipeImpersonatedThread@@QAEXPAVStringStorage@@@Z) referenced in function "public: static void __cdecl WTS::duplicatePipeClientToken(void *)" (?duplicatePipeClientToken@WTS@@SAXPAX@Z)
1>win-system.lib(WTS.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall PipeImpersonatedThread::getImpersonationSuccess(void)" (?getImpersonationSuccess@PipeImpersonatedThread@@QAE_NXZ) referenced in function "public: static void __cdecl WTS::duplicatePipeClientToken(void *)" (?duplicatePipeClientToken@WTS@@SAXPAX@Z)
1>win-system.lib(WTS.obj) : error LNK2019: unresolved external symbol "public: void __thiscall PipeImpersonatedThread::waitUntilImpersonated(void)" (?waitUntilImpersonated@PipeImpersonatedThread@@QAEXXZ) referenced in function "public: static void __cdecl WTS::duplicatePipeClientToken(void *)" (?duplicatePipeClientToken@WTS@@SAXPAX@Z)
1>win-system.lib(WTS.obj) : error LNK2019: unresolved external symbol "public: __thiscall PipeImpersonatedThread::PipeImpersonatedThread(void *)" (??0PipeImpersonatedThread@@QAE@PAX@Z) referenced in function "public: static void __cdecl WTS::duplicatePipeClientToken(void *)" (?duplicatePipeClientToken@WTS@@SAXPAX@Z)
1>F:\2-研D发¤?é库a\远?程¨?控?制?\tightvnc\tvnserver-2.0.4\Debug\tvnserver.exe : fatal error LNK1120: 5 unresolved externals
========== Build: 0 succeeded, 1 failed, 23 up-to-date, 0 skipped ==========
Build tvnserver工程即可完成服务端的构建,构建完后,会在tvnserver-2.0.4目录下生成debug目录,在debug目录下会生成许多lib库和tvnserver.exe。
编译客户端tvnviewer-1.5.4
将所有工程的字符集设置为多字节字符集。
在工程设置对话框的Configuration Properties/General选项卡,将Character Set设置为Use Multi-Byte Character Set,默认为Use Unicode Character Set。
修改win-system工程,添加文件PipeImpersonatedThread.cpp。
Build tvnviewer工程即可完成客户端的构建,构建完后,会在tvnviewer-1.5.4目录下生成debug目录,在debug目录下会生成许多lib库和vncviewer.exe。
推荐阅读
-
TightVNC 2.0.4在VC2010下的编译
-
解析libcurl在android下的移植、编译与测试
-
nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264_streaming-2.2.7)
-
Gearman::XS在Centos下的编译安装方法
-
nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264_streaming-2.2.7)
-
解析libcurl在android下的移植、编译与测试
-
Windows下Python3在没有Make的情况下实现C++多文件编译脚本
-
scratch_blocks项目在windows下无法编译的坑
-
在openSUSE42.1下编译安装PHP7 的方法
-
使用for of循环遍历获取的nodeList,配置babel编译,webpack打包之后在iphone5下报错