使用外部编译环境调用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