欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

TightVNC 2.0.4在VC2010下的编译

程序员文章站 2024-01-02 19:22:40
...

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。

上一篇:

下一篇: