LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Are some ANSI-C standard functions available in LW/CVI 5.5 not supported in MSVC++ 6.0?

I have a CVI5.5 project that I am trying to compile/link in MSVC++ 6.0. I am getting link errors in MSVC++ for some of the ANSI-C standard library functions: _GetErrno, _GetFloatMin, _setjmp, vscanf, vsscanf, among others. I've looked through the MSVC++ documentation and I can't find mention of these functions anywhere (i.e., they are not supported!?) My application makes use of the LoadExternalModule function, so I have created a .h and .obj file which lists all of the exposed functions in the CVI project (plus it means that I have included the \cvi\extlib\arefsym.c and refsym.c files in the MSVC project). The CVI documentation says that if using ANSI-C functions and compiling/link
ing in an external compiler, to use the external compiler's ANSI-C libraries (i.e., so do not include the \cvi\include\ansi\ in the MSVC search path) I've done all this and I get the above link errors. Any idea as to what is happening here? Would a possible remedy be to completely avoid using the MSVC ANSI-C libraries and just use the ones that come with CVI?
0 Kudos
Message 1 of 2
(2,617 Views)
Looks to me like you are using the CVI standard header files rather than the MSVC header files. Or you are trying to link a .obj compiled with CVI into an MSVC app. e.g. the 'errno' ANSI macro in CVI resolves to a call to _GetErrno(), whereas the MSVC one doesn't.

However, MSVC does not implement vscanf or vsscanf at all (they are not ANSI functions, according to my book).

HTH,
Martin
--
Martin
Certified CVI Developer
0 Kudos
Message 2 of 2
(2,617 Views)