背景介绍:编写测试程序,借助于 Agilent 82530B(数据采集卡)与 Agilent 34401A(数字万用表)通信,从而实现大流量数据的采集。根据Agilent公司提供的PDF,需要先引入COM项目【VISA COM 3.0 Type Library】才可使用。
使用编程语言:C++/CLI
程序类型:CLR(Windows 窗体应用程序)
开发环境:VS2010简体中文旗舰版
.net 库版本:.net Framework 4.0
我做过什么(错误详述):
1、安装Agilent 82530B IO Library(即82530B驱动);
2、新建CLR(Windows 窗体应用程序),引入COM项目【VISA COM 3.0 Type Library】,成功(可在类视图查看到期内容);
3、在Form1类的引入命名空间的地方引入该命名空间,编译出错,提示编译错误:C2871,找不到命名空间;
4、使用VS2010运行Agilent公司提供的示例程序,编程语言:C#, 运行成功,编译器不报告任何错误。
对比二者引入的内容(通过右键“引用”),都是一样的。
在C#中使用【using Ivi.Visa.Interop】,在C++/CLI中使用【using namespace Ivi::Visa::Interop;】(这一点不会错,Agilent提供的PDF里有特别的说明并给出了代码示例)。
编译错误:
error C2653: “Ivi”: 不是类或命名空间名称
error C2871: “Interop”: 具有该名称的命名空间不存在
这是唯一错误.
小弟分少,不胜感激先。
------解决方案--------------------
确定命名空间确实是那个?