Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://twitter.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

Issues compiling UltraVNC

Developers may discuss here
Post Reply
yo_mono
Posts: 4
Joined: 2019-08-30 06:02

Issues compiling UltraVNC

Post by yo_mono »

Hi! This is my first post here so i hope im doing it right.
Im havin A LOT of problems to compile UltraVNC on my own (Both WinVnc and Vncviewer).

I tried with the r1215 and r1235 versions on sourceforge. I nearly got it with the last one..

With the Viewer:

- r1235: I can compile the Viewer on "RELEASE" configuration, however the majority of the video plugins does not work. XZ, XZYW, ZYWRLE, Tight (and more) gives me a black screen or even just closes the viewer at all
- r1215: I cant even compile, a lot of errors, listed below:

Code: Select all

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol "public: __thiscall omni_thread::init_t::init_t(void)" (??0init_t@omni_thread@@QAE@XZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\AboutBox.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::xzInStream::setUnderlying(class rdr::InStream *,int)" (?setUnderlying@xzInStream@rdr@@QAEXPAVInStream@2@H@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall rdr::xzInStream::xzInStream(int)" (??0xzInStream@rdr@@QAE@H@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: int __thiscall rdr::FdInStream::Check_if_buffer_has_data(void)" (?Check_if_buffer_has_data@FdInStream@rdr@@QAEHXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::FdInStream::SetReadFromMemoryBuffer(int,char *)" (?SetReadFromMemoryBuffer@FdInStream@rdr@@QAEXHPAD@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: unsigned int __thiscall rdr::FdInStream::kbitsPerSecond(void)" (?kbitsPerSecond@FdInStream@rdr@@QAEIXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::FdInStream::stopTiming(void)" (?stopTiming@FdInStream@rdr@@QAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::FdInStream::startTiming(void)" (?startTiming@FdInStream@rdr@@QAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall rdr::FdInStream::FdInStream(int,int,int)" (??0FdInStream@rdr@@QAE@HHH@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall rdr::ZlibInStream::ZlibInStream(int)" (??0ZlibInStream@rdr@@QAE@H@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall omni_mutex::unlock(void)" (?unlock@omni_mutex@@QAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall omni_mutex::lock(void)" (?lock@omni_mutex@@QAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall omni_mutex::~omni_mutex(void)" (??1omni_mutex@@QAE@XZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall omni_mutex::omni_mutex(void)" (??0omni_mutex@@QAE@XZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall omni_thread::join(void * *)" (?join@omni_thread@@QAEXPAPAX@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "protected: virtual __thiscall omni_thread::~omni_thread(void)" (??1omni_thread@@MAE@XZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "protected: void __thiscall omni_thread::start_undetached(void)" (?start_undetached@omni_thread@@IAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol "protected: __thiscall omni_thread::omni_thread(void *,enum omni_thread::priority_t)" (??0omni_thread@@IAE@PAXW4priority_t@0@@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnection.obj	1	
Error	LNK2001	unresolved external symbol _uncompress	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionCacheRect.obj	1	
Error	LNK2001	unresolved external symbol _inflateInit_	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_CreateDecompress	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_destroy_decompress	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_read_header	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_start_decompress	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _inflateEnd	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_finish_decompress	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _inflate	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_std_error	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_read_scanlines	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol _jpeg_resync_to_restart	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ClientConnectionTight.obj	1	
Error	LNK2001	unresolved external symbol "public: virtual void __thiscall rdr::ZlibOutStream::flush(void)" (?flush@ZlibOutStream@rdr@@UAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\Clipboard.obj	1	
Error	LNK2001	unresolved external symbol "public: virtual __thiscall rdr::ZlibOutStream::~ZlibOutStream(void)" (??1ZlibOutStream@rdr@@UAE@XZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\Clipboard.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall rdr::ZlibOutStream::ZlibOutStream(class rdr::OutStream *,int,int)" (??0ZlibOutStream@rdr@@QAE@PAVOutStream@1@HH@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\Clipboard.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::ZlibInStream::setUnderlying(class rdr::InStream *,int)" (?setUnderlying@ZlibInStream@rdr@@QAEXPAVInStream@2@H@Z)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\Clipboard.obj	1	
Error	LNK2001	unresolved external symbol "public: virtual __thiscall rdr::ZlibInStream::~ZlibInStream(void)" (??1ZlibInStream@rdr@@UAE@XZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\Clipboard.obj	1	
Error	LNK2001	unresolved external symbol _crc32	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\Clipboard.obj	1	
Error	LNK2001	unresolved external symbol _adler32	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\FileTransfer.obj	1	
Error	LNK2001	unresolved external symbol _compress	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\FileTransfer.obj	1	
Error	LNK2001	unresolved external symbol _ZpArchive@12	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ZipUnzip32.obj	1	
Error	LNK2001	unresolved external symbol _Wiz_SingleEntryUnzip@24	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ZipUnzip32.obj	1	
Error	LNK2001	unresolved external symbol _ZpSetOptions@4	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ZipUnzip32.obj	1	
Error	LNK2001	unresolved external symbol _ZpInit@4	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\ZipUnzip32.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::ZlibInStream::reset(void)" (?reset@ZlibInStream@rdr@@QAEXXZ)	vncviewer	D:\Drive\Trebolnet\UltraVNC-code-r1215\vncviewer\zrle.obj	1

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Now, for the WinVnc:

- r1235: I actually CAN compile this one on "RELEASE" config, and is working. BUT i will need to install it on some Windows XP clients. So i choose the "XP" configuration and... error :( . I get this three errors listed below:

Code: Select all

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::xzOutStream::setUnderlying(class rdr::OutStream *)" (?setUnderlying@xzOutStream@rdr@@QAEXPAVOutStream@2@@Z)	winvnc	D:\Drive\Trebolnet\ultravnc-code-r1235\winvnc\winvnc\vncEncodeXZ.obj	1	
Error	LNK2001	unresolved external symbol "public: void __thiscall rdr::xzOutStream::SetCompressLevel(int)" (?SetCompressLevel@xzOutStream@rdr@@QAEXH@Z)	winvnc	D:\Drive\Trebolnet\ultravnc-code-r1235\winvnc\winvnc\vncEncodeXZ.obj	1	
Error	LNK2001	unresolved external symbol "public: __thiscall rdr::xzOutStream::xzOutStream(class rdr::OutStream *,int)" (??0xzOutStream@rdr@@QAE@PAVOutStream@1@H@Z)	winvnc	D:\Drive\Trebolnet\ultravnc-code-r1235\winvnc\winvnc\vncEncodeXZ.obj	1	
Error	LNK1120	3 unresolved externals	winvnc	D:\Drive\Trebolnet\ultravnc-code-r1235\winvnc\XP\winvnc.exe	1	
- r1215: Exactly the same as r1235. RELEASE compiles without issues, XP, the same three "external symbol" errors.


i'd like to add:
- I would prefer getting the r1235 version working
- All test are done on the same computer, with the same Visual Studio 2017, compiled fresh, as is downloaded.
- Im from Argentina so im sorry if my english is not the best

I really hope someone can helpe here.
Thank you in advance!
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Issues compiling UltraVNC

Post by Rudi De Vos »

project files updated
yo_mono
Posts: 4
Joined: 2019-08-30 06:02

Re: Issues compiling UltraVNC

Post by yo_mono »

Hi Rudy! Thank you so much for this.
Sadly.. im still facing the same issues :(

Using r1357 now:

- Viewer: Still closing if i use most of the encoders (at least, it works with xz wich is the one i use most, so maybe i can live with it). HOWEVER, this is with the win32 build, and i realized that the x64 build works without any issues! Can that be a lead?

- WinVNC: Still the same tree "External symbol" errors from the first post. But i also realized that the x64 build does compile!. Is a shame is not very useful since 64 bit windows xp are very rare..


I feel im getting closer.. hope you can help me..

Thank you again
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Issues compiling UltraVNC

Post by Rudi De Vos »

Svn is now a copy of my local build folder and i tested VS207 release/debug 32 and 64 bit before comitting the updates files.
tested using ddk 8 and compiler v141, v141_xp isn't stable, don't use it.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Issues compiling UltraVNC

Post by Rudi De Vos »

Tested again
Step 1) checkout svn
Step 2) open vncviewer_vs2017.sln set vncviewer as startup project, select debug,32 and build
8>vncviewer_VC2017.vcxproj -> C:\Users\rudi\Desktop\UltraVNC_latest\vncviewer\Debug\vncviewer.exe
8>Done building project "vncviewer_VC2017.vcxproj".
Doing the same for
-x64 debug
-win32 release
-x53 release
OK

winvnc.exe (winvncVS2017.sln)
win32 debug -> missing parameter in a secure (_s) function, after fix ok
x64 debug ok
x64 release ok
win32 release ok

uploaded project files for winvnc
yo_mono
Posts: 4
Joined: 2019-08-30 06:02

Re: Issues compiling UltraVNC

Post by yo_mono »

Hey rudi.. i hate to say this but.. Im still having the same issues.
the one that bothers me the most is the Vncviewer closing on 32bit release..
The bast majority of the video plugins just closes the viewer.
with a few plugins (like ultra) it does not closes.. AND this ONLY happens on the 32 bits versions (release or debug, it doesnt matters).
On the 64 bit version, all codecs works without issues.
Do you have any clue?
Thank you again
yo_mono
Posts: 4
Joined: 2019-08-30 06:02

Re: Issues compiling UltraVNC

Post by yo_mono »

Hey, its me again.
I would like to know: Is there any requirements before i compile the software?
The viewer stills closing or just giving me a black screen when i compile it myself
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Issues compiling UltraVNC

Post by Rudi De Vos »

installed
directX sdk june 2010
nasm, if you want to compile jpeg and zlib yourself
VS2010 or VS2017
NO other software is installed compile
On VS2010 we use prcompiled libs, you can download them also
https://www.uvnc.eu/download/1224/vcpkg-master.zip

include paths used (absolute paths need tobe modified to your own locations)
C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\Users\rudi\Desktop\vcpkg-master\installed\x64-windows_static_xp\include;$(IncludePath)
lib path used
C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;$(LibraryPath)
Post Reply