使用外部编译环境调用CVI库函数时都需要哪些文件呢?
主要软件: LabWindows/CVI Development Systems>>Full Development System
主要软件版本: 6.0
主要软件修正版本: N/A
次要软件: N/A
问题: 使用外部编译环境调用CVI库函数时都需要哪些文件呢?
解答: 1. 首先您需要在外部编译环境中包含cvisupp.lib和cvirt.lib两个库文件。这两个库文件中包含了在CVI内核中定义的库函数信息。
2. 如果您需要添加一些与硬件相关的函数库,比如说DAQ、VXI等,您需要在cvi\extlib目录下查找相关的函数库,并把他们包含进来(比如dataacq.lib和nivxi.lib)。
3. 如果外部编译环境需要以WinMain为程序切入点开始执行,您还需要包含cviwmain.lib函数库。
4. 如果您使用的是标准C语言,则不论您使用什么样的编译环境,只要包含该编译环境目录下的标准C函数库就可以了。比如说您使用的是Visual C/C++,直接使用Visual的库函数而不需要CVI的库函数。
5. 如果您是在其他的编译器下编辑CVI前面板事件的回调函数,您需要在CVI中的Build菜单下选择External Compiler Support来创建一个专用的回调函数的.obj文件。并且该文件必须被包含到外部编译器的工程中。需要注意的是,如果您需要调用CVI编译的静态库文件您同样需要在您的工程中包含.obj文件或者.c文件。对于该种应用可以参考以下链接:
KnowledgaBase 2TDFEPSJ: I Get Error -86 When I Try to Use a Static Library Created in CVI. Why? 6. 如果对于.obj文件和.llb文件使用了LoadExternalModule语句,您需要在您的程序中包含以下文件:refsym.obj(标准CVI库)和/或arefsym.obj(标准C)。这些文件只是在程序运行时被载入。
7. 如果您有以下某种功能的函数:1) 调用.uir文件中的定义; 或者 2) 使用LoadExternalModule语句调用.obj/.lib文件中的定义。那么在外部编译器中您需要调用InitCVIRTE 函数,如果您使用了DLLMain函数,那么您还需要调用CloseCVIRTE 函数。
8. 如果您调用的CVI库函数需要调用前面板文件,那么您需要把您的.uir文件拷贝到您外部编译器工程目录下可执行文件的位置。
相关链接:
附件:
报告日期: 04/03/1997
最近更新: 09/15/2007
文档编号: 0W2F7352
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.