解决方案
为了在Visual Studio C ++程序中编译LabWindows / CVI函数,首先必须使用导入库将函数构建到动态链接库(
.dll )中,然后将导入库(
.lib )链接到C ++项目。要将函数构建到DLL中并避免链接错误,请完成以下步骤:
- 如果包含这些功能的仪器驱动程序尚未加载到LabWindows / CVI中,则需要通过Instrument>>Load的方法来加载它。在打开的对话框中,找到对应的.fp文件,然后单击“ Load” 。
- 通过转到File>>Open>>Function Tree (* .fp)打开函数树编辑器。在打开的对话框中,浏览对应的.fp文件,然后单击“ Load” 。
- 通过Options>>Create DLL Project来创建DLL项目 。选择一个路径并命名,然后单击“ save”。一个对话框会弹出并询问你是否需要立即加载DLL项目,和下面的对话框类似。点击Yes。
- 在编译DLL之前,你需要对编译进行一些配置。首先在Build >> Target Type设置编译目标类型,并确保Dynamic Link Library(动态链接库)旁边有一个复选标记。还可以通过Build >> Configuration将项目设置为release(发布)模式,并确保Release旁边有一个复选标记。
- 通过Build >> Target Settings更改以下设置:
a. 将Run-time support选项更改为Full run-time engine ,如下图所示
b. 单击“ Type Library”并取消选中“ Add type library resource to DLL”。如果没有取消选中该条目,则在编译过程中会收到一个类型定义错误,类似Definitions for these types could not be found.
然后单击“OK”关闭窗口。
- 在LabWindows/CVI2012或更早版本之前编译DLL,选择Build >> Create Release Dynamic Link Library 。在LabWindows / CVI 2013中,选择Build >> Build 。这将创建一个动态链接库( .dll )和一个包含您需要使用的LabWindows / CVI函数的导入库( .lib )。现在我们就可以将导入库链接到Visual Studio项目了。
- 打开Visual Studio C ++项目,然后转到Project>>Properties 。在Properties窗口中,选择Configuration Properties>>C/C++>>General 。单击“ Additional Include Directories”。然后在列表中选择<Edit...> 。
- 在打开的对话框中,单击“ New Line”按钮,添加包含头文件的目录,然后单击“ OK” 。
- 选择Configuration Properties>>Linker>>Input 。单击Additional Dependencies,然后单击出现的箭头并选择<Edit ...> 。
- 在打开的对话框中,将导入库的路径添加到Additional Dependencies中。
- 编译Visual Studio项目,此时链接错误将会消除。如果你仍然看到这个错误,有可能仍有LabWindows/CVI的函数直接被调用,你需要按照上述步骤将所有的函数生成dll。