07-26-2013 12:56 PM - edited 07-26-2013 12:58 PM
Hello,
We have an application under Labwindows 8.0 with ADSAPI drivers for Advantech PCM3718 board. It is perfect with Windows XPe.
Now, we must use Windows Embedded Service 7: drivers for PCM3718 are no longer the same but have moved to DAQNAvi architecture.
In the same time, to be in the movment, we migrate our dev suite to LabWindows CVI 2012 and our target is 64 bits (instead of 32bits).
As a resulte, the application no longer compile: libaspi32 is no longer valid.
We have not found the way to integrate this new DAQNAVI in the project: how can we create .lib?
I also ask the question on board supplier (Advantech) forums but question is, for men in the middle.
Regards
PS: all examples delivered with the driver are in C#, C++ or BV, none directly ready for CVI 😞
Solved! Go to Solution.
07-30-2013 08:02 AM
Supplier of board indicates that he will not deliver examples for its new driver in C language and doesn't support such request :-(.
Should I have more luck here for integration of a third party driver in Labwindows CVI?
08-01-2013 02:28 AM
Hello R1M,
Since CVI only supports C ANSI, if you'd like to use the new driver with CVI, you could build DLLs for example from the C++ code.
This document and its related links should help you : Does LabWindows/CVI Support C++?
You can also read this : lib file
Regards,
Jérémy C.
NI France
08-01-2013 03:13 AM
Do you mean we have to implement an interface DLL to match our functions in CVI/C files to functions in DLL?
I'll read the documents, trying to identify the way to import such DLL in the code, not using a CVI DLL in C++.
08-01-2013 06:38 AM
Extract of page
====
LabWindows/CVI executables and DLLs can load 32-bit DLLs. To call a DLL from LabWindows/CVI, you must have the DLL header .h file and the import library .lib file. If you do not have the DLL import library, you can create one using the tools LabWindows/CVI provides. For more information, refer to the What Is the Difference between Static Linking to a DLL and Dynamic DLL Linking? section of this FAQ.
Because LabWindows/CVI is an ANSI C compiler, it can call only functions that have been exported as C-style functions. For more information, refer to the How Can I Use DLLs Created in Visual C++ with LabWindows/CVI? section of this FAQ.
====
Is it out of date or still valid? I"m very desapointed if I can't use a 64 bits library in CVI!
In addition, my question was: how can I create the .lib file that looks important for this integration.
Where is the link to "How Can I Use DLLs Created in Visual C++ with LabWindows/CVI?" The only topics I found are for CVI4.0 !!!!
08-06-2013 05:03 AM
Hello,
The idea I proposed was to create DLLs from the C++ functions with a IDE such as Visual Studio.
You can use 64 bits libraries in CVI. You can find the information in the help of the software. For example, if you type "64 bit DLL" as Keyword, you should find a section named "Loading DLLs".
In order to create static libraries in CVI, you can take a look to those sections of the Help :
Creating Static Libraries in LabWindows/CVI
But if you plan to build static librairies in C++ from an other IDE, just google it : Create lib file
You can find the section for "How Can I Use DLLs Created in Visual C++ with LabWindows/CVI?" here.
Regards,
Jérémy C.
NI France
08-06-2013 11:51 AM
02-25-2014 07:18 AM
This has been solved with support of France ni team.
We moved all the operating vi to a DLL and call those functions. Of course it is probably time consuming versus a direct call to a function in the driver but it works and we will look later on how to optimze this.
Regards
04-25-2016 04:50 AM
Good day, can you share the code how you manage to use the DAQNavi in CVI? Thanks!
04-26-2016 03:23 AM
In fact, we transformed the set of VIs in a DLL. We kept only the fonctions for PCM3718 board.
Attached the .DLL and .lib in 32 bits we use.
I also add the NI doc to generate such a DLL (usefull for another board and/or for 64-bit version). Unfortunatelly, it is in French 😞
Hope it can help