LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

LabWindows/CVI Driver for PCI Card

Sir,
I am developing a LabWindows/CVI driver for PCI card for which the driver was developed in VC++. For each of the functions in VC++, I am including : __declspec (dllexport) and __stdcall .
In the header file, I am including the extern "C" function.
Then I am rebuildig the dll and the .lib file.
I have created function panels in CVI where the parameters and their datatypes are exactly the same as in the functions in VC++.
Then I wrote a small application using the Function panels created in CVI. I also included the .lib file in the project and also in the same working directory.
When I tried to compile the project,I got the following error messages:

pci.c - 10 errors
"BASETSD.H"(157,17) syntax error; found 'identifier' exp
ecting ';'.
"BASETSD.H"(165,26) Redeclaration of '__int64'.
"BASETSD.H"(165,26) syntax error; found 'identifier' expecting ';'.
"BASETSD.H"(166,26) syntax error; found 'identifier' expecting ';'.
"BASETSD.H"(167,26) syntax error; found 'identifier' expecting ';'.
"WINNT.H"(523,10) syntax error; found 'identifier' expecting ';'.
"WINNT.H"(530,5) Undeclared identifier '__asm'.
"WINNT.H"(530,14) syntax error; found '{' expecting ';'.
"WINNT.H"(531,9) Undeclared identifier 'mov'.
"WINNT.H"(531,17) syntax error; found 'identifier' expecting ';'.


These errors occured in the header files of VC++. These are for data types which are signed and 64 bits long. What may be the reason for this ? Does CVI recognise the 64-bit data type ?
Please help me find a solution for this.

Regards,
Nagendra
0 Kudos
Message 1 of 2
(3,290 Views)
CVI does not have a 64-bit integer data type. That data type is not defined in the ANSI C specification. The full version of LabWindows/CVI includes the Windows SDK which has these two files in it. You could probably switch to using the CVI included SDK files instead of the Visual C++ files.

There could be a problem though, because since this is a device driver it is probably using functions from the Windows DDK (driver development kit) which is not available in CVI. So, I can't be sure all of the headers you are using in your driver code will be available in CVI with the SDK.

Best Regards,

Chris Matthews
National Instruments
0 Kudos
Message 2 of 2
(3,290 Views)