LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

"CVIANSI Invalid type specification" error

Dear bilalD ,
 
I tried what you suggested, but the "Preprocess source file" function only seems to work for .c files.  And the error I am seeing is in a .h file (specifically, the stdlibex.h file).   Is there another way to check whether it gets undefined?
 
Thanks,
Gohar
0 Kudos
Message 11 of 12
(1,148 Views)

Well, I've tried everything, and still I am no closer to finding out what the problem is.


I re-installed Labwindows and that didn't make an ounce of difference.  I still get the same error message:   "stdlibex.h"(27,18)   Invalid type specification."  The thing is, I don't think I use any of the functions in this library in my code.  And I don't have the stdlibex.h file included in my project anywhere.  Yet it still complains about this one line every time I try to compile.


Here is what I have discovered so far:

The following is the contents of the stdlibex.h file:

/*============================================================================*/
/*                        L a b W i n d o w s / C V I                         */
/*----------------------------------------------------------------------------*/
/*    Copyright (c) National Instruments 1987-1999.  All Rights Reserved.     */
/*----------------------------------------------------------------------------*/
/*                                                                            */
/* Title:       stdlibex.h                                                    */
/* Purpose:     Include file for CVI specific extensions of ANSI Standard C   */
/*              library functions and macros of general purpose utility.      */
/*                                                                            */
/*============================================================================*/

#ifndef _STDLIBEX
#define _STDLIBEX

#include "cvidef.h"
#include "cvirte.h"

#ifdef __cplusplus
    extern "C" {
#endif

int CVIANSI _putenv(const char *);

__int64 CVIANSI atoi64(const char *);
__int64 CVIANSI strtol64(const char *, char **, int);
unsigned __int64 CVIANSI strtoul64(const char *, char **, int);

#ifdef __cplusplus
    }
#endif

#endif

The only line it complains about is the line in red.  If I comment out the entire line, it compiles.  If I un comment the line and delete the word "unsigned" from the front of the line, it still works.   If I keep the word unsigned, and delete the word "__int64", it still compiles.  If I keep the entire line the same and only delete the word "CVIANSI", it compliles again.  The only time it does NOT complie is when I keep the entire line exactly the way it is (shown above in red).

So it seems that it does not like the fact that there are 3 separate type identifiers before the function name strtoul64(...).  Has anyone else ever experienced this ? 

Thanks,

Gohar

0 Kudos
Message 12 of 12
(1,141 Views)