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

SetBlankMonitor function definition is missing

Post Reply
vineeta1shukla
20
20
Posts: 35
Joined: 2015-06-01 17:32

SetBlankMonitor function definition is missing

Post by vineeta1shukla »

Hello,

I was trying to build winvncv11.sln of ultravnc-code-1009 version downloaded from https://sourceforge.net/p/ultravnc/code/HEAD/tree/, i got a strange error:

Error 69 error LNK2001: unresolved external symbol "public: void __thiscall vncDesktop::SetBlankMonitor(bool)" (?SetBlankMonitor@vncDesktop@@QAEX_N@Z) C:\Users\vineeta\Desktop\MCMRC_1.2.0.5\UltraVnc_1.2.1.0\ultravnc-code-1009\ultravnc-code-1009\UltraVNC Project Root\UltraVNC\winvnc\winvnc\vncdesktop.obj winvnc
Error 70 error LNK1120: 1 unresolved externals C:\Users\vineeta\Desktop\MCMRC_1.2.0.5\UltraVnc_1.2.1.0\ultravnc-code-1009\ultravnc-code-1009\UltraVNC Project Root\UltraVNC\winvnc\Release\winvnc.exe 1 1 winvnc


When i searched this function SetBlankMonitor , i got declaration in vncdesktop.h and used in vncdesktop.cpp file two times.
but i dint get definition of this function in any file.

When i checked in old version (ultravnc_src_907 of UltraVNC 1.2.0.5),i got definition of this function SetBlankMonitor in file blankmonitor.cpp.
I think blankmonitor.cpp file is missing in all versions(ultravnc-code-1005.zip,ultravnc-code-1006.zip,ultravnc-code-1009.zip) as i checked.

So i copied function SetBlankMonitor definition from blankmonitor.cpp file and used it in vncdesktop.cpp file and it builds successfully, as there is only one function in that blankmonitor.cpp file.


is it OK or there is some other problem?
Please suggest.

thanks in advance.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: SetBlankMonitor function definition is missing

Post by Rudi De Vos »

We use only the following projects
vncviewer_vs2008.sln
vncviewer_vs2013.sln
vncviewer_vs2015.sln


winvncv11.sln is an old project, this compioler isn't used anyhmore, new files added after this project was stopped are issing,
this is normal.
vineeta1shukla
20
20
Posts: 35
Joined: 2015-06-01 17:32

Re: SetBlankMonitor function definition is missing

Post by vineeta1shukla »

Hello,

These are viewer sln.

vncviewer_vs2008.sln
vncviewer_vs2013.sln
vncviewer_vs2015.sln

i am facing problem in server (winvnc sln). i had downloaded source files from https://sourceforge.net/p/ultravnc/code/HEAD/tree/ as you recommended and i got these sln in winvnc folder.

winvnc2008.sln
winvncv11.sln
winvncv12.sln
winvncv15.sln

As i know both project (winvnc and vncviewer) should be build separately.


Please let me know if i am doing anything wrong or my problem is not clear to you?

Thanks for your prompt reply :).
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: SetBlankMonitor function definition is missing

Post by Rudi De Vos »

The problem is not clear.

The current build projects are 2008/2013/2015.
For winvnc and vncviewer.

I tested again and with default VS2013 install on a win7
I tested again and with default VS2015 install on a win10

The initial problem was that uint32_t is unknown.....but used by the _XY lib.

uint32_t should be defined in the include files of the VS2013>= compilers.
If it isn't then you a problem with the include path defined in the VS setup.

You need to be able to compile a simple thing like this
vineeta1shukla
20
20
Posts: 35
Joined: 2015-06-01 17:32

Re: SetBlankMonitor function definition is missing

Post by vineeta1shukla »

Hello,

Yes, you are right.

When i open winvncv11.sln ,i don't find blankmonitor.cpp file.but if i open winvnc2008.sln, i can see blankmonitor.cpp file in solution.

and there is no winvnc sln for VS2013 in ultravnc-code-1009 version.

I am still facing problem if i use vncviewer_vs2013.sln with _XY lib in VS2013.

if i don't use _XY lib by removing the _XZ from the precompiler options then what will be the impact, as you told this is new encoder that is used in VS2013 sln?

Thank you for help.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: SetBlankMonitor function definition is missing

Post by Rudi De Vos »

The new encoder is for gprs... heavy comrpession.

It's an optional encoder.
You can enable/disable it by using the precompiler options.
see VS2008
VS2008 -> off
VS2008 doesn't have the required headers to build the new encoder.

Still, i don'ty understand why your 2013 compiler doesn't find uint32_t
The stdint.h of VS 2013 start with

Code: Select all

/* stdint.h standard header */
#pragma once
#ifndef _STDINT
#define _STDINT
#ifndef RC_INVOKED
#include <crtdefs.h>

typedef signed char        int8_t;
typedef short              int16_t;
typedef int                int32_t;
typedef long long          int64_t;
typedef unsigned char      uint8_t;
typedef unsigned short     uint16_t;
typedef unsigned int       uint32_t;
typedef unsigned long long uint64_t;
possible you can also add the typedefs direct in some vnc file or do a find replace
uint32_t -> unsigned int
vineeta1shukla
20
20
Posts: 35
Joined: 2015-06-01 17:32

Re: SetBlankMonitor function definition is missing

Post by vineeta1shukla »

Yes you are right, when i build VS2008 sln, i am not getting any error. because _XY li is not getting use in VS2008 sln. but stdint.h is used in VS2008 and it builds successfully.

As i checked, stdint.h is used in 4 lib liblzma,rdr,vncviewer and zlibstat in VS2013 but i am getting errors only in __XY lib(libzma) .

There are some points:
  • C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include folder is available on my system.
  • ./;../src/liblzma/common;../src/common;../src/liblzma/api;../src/liblzma/check;../src/liblzma/delta;../src/liblzma/lz;../src/liblzma/lzma;../src/liblzma/rangecoder;../src/liblzma/simple Additional Include Directories settings for liblzma.
  • There are 3 folders under liblzma : 1- External Dependencies 2- Header Files 3- Source Files. . while in other lib,There is only one folder External Dependencies and source files , header files are in same root.
I think, source files are not getting any header files (not even from liblzma lib).

There are 460 errors, that are not only from stdint.h.

and below is stdint.h code from include folder.

/* stdint.h standard header */
#pragma once
#ifndef _STDINT
#define _STDINT
#ifndef RC_INVOKED
#include <crtdefs.h>

typedef signed char int8_t;
typedef short int16_t;
typedef int int32_t;
typedef long long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;

typedef signed char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
typedef long long int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;


Please help me :( :cry: if you need more information let me know.

Thanks in advance.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: SetBlankMonitor function definition is missing

Post by Rudi De Vos »

I was in the assumption that using a VS2013 project you also used a VS2013 compiler.

MS info on this error

error C2275 : illegal use of this type as an expression
Solution:
Upgrade to VS2013
cause
file *.c need to be handled as c++,
pre VS2013 require vars are declared on top for a *.c file.

Sorry, lib is made for VS21013>=
vineeta1shukla
20
20
Posts: 35
Joined: 2015-06-01 17:32

Re: SetBlankMonitor function definition is missing

Post by vineeta1shukla »

Hello,

As you suggested to use latest compiler, now i am using VS2015 community and trying to build vncviewer_vs2015.sln.

This time i am getting below errors multiple time:

8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1115): error C3861: '__builtin_huge_valf': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1120): error C3861: '__builtin_nanf': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1125): error C3861: '__builtin_nansf': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1178): error C3861: '__builtin_huge_val': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1183): error C3861: '__builtin_nan': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1188): error C3861: '__builtin_nans': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1241): error C3861: '__builtin_huge_val': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1246): error C3861: '__builtin_nan': identifier not found
8>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits(1251): error C3861: '__builtin_nans': identifier not found

Please help to solve this new error,if you need more information please let me know.

Thanks in advance.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6839
Joined: 2004-04-23 10:21
Contact:

Re: SetBlankMonitor function definition is missing

Post by Rudi De Vos »

not a vnc src issue , this is some compiler problem.
google "limits(1115): error C3861: '__builtin_huge_valf': identifier not found"
gives me this post with a solution.

http://en.sfml-dev.org/forums/index.php?topic=19555.0
Post Reply