2024年1月1日发(作者:)
经过一晚上的努力终于解决了 在VS2008下VC++ 调用IDL的所有的问题。
环境:
VS2008下的VC++
ENVI4.7下的IDL7.1
第一步:
打开一个MFC的MFC的应用程序 ,并添加一个按钮,工程名为:hello1
第二步:
设置VS2008 如:
项目->hello1属性->配置属性 ->链接器->输入
在对话框的附加依赖项:填写
第三步:
在C:Program Files (x86)ITTIDL71externalinclude找到idl_export.h,把他放在hello1的工程文件里面,和其他.h文件放在一块
第四步:
在MFC的Button1的单击事件中,写入代码如下:
HANDLE hInstance=AfxGetInstanceHandle();
IDL_Win32Init(0,hInstance,NULL,0);
IDL_ExecuteStr(".compile 'C:UsersacerDesktopd_'");
IDL_ExecuteStr("d_map");
IDL_Cleanup(TRUE);
注意:d_ 文件放在C:UsersacerDesktop
如果是想编译文件,格式如:
IDL_ExecuteStr(".restore, 'C:'");其他代码不变
还用一个注意事项是:添加idl_export.h头文件
如:
运行截图:
不过在开始碰到很多系统问题如:我的系统是win7系统,开始新建MFC总是报错:丢失,最后解决了是路径问题,解决方法是:
“工具”—>“选项”—>“项目和解决方案”—>“VC++目录”,在可执行文件栏中加入下面的路径:
$(SystemRoot)System32
$(SystemRoot)
$(SystemRoot)System32wbem


发布评论