跟贴请点击 http://www.huihoo.com/cgi-bin/forum/viewthread.php?tid=1259
作者 文章标题 请教,我的IDL无法编译见正文




新手上路



贴子数量 : 2
注册日期 : 8/13/2002
在线情况 : 离线

  发表于: 8/19/2002 - 09:02
按书上介绍的微软自带的midl应该也可以的但是提示如下:
Processing .\time.idl
time.idl
.\time.idl(8) : error MIDL2025 : syntax error : expecting a type specification n
ear "TimeOfDay"
.\time.idl(8) : error MIDL2026 : cannot recover from earlier syntax errors; abor
ting compilation

后来安装了orbix e2a,用它的idl编译提示如下:
abnormal program termination
idl: Preprocessor returned exit status 3

从vc6的向导建立是输入idl文件也提示如上

我的idl很简单,是《基于c++ 的corba高级编程》的第一个例子,如下:
struct TimeOfDay {
short hour;
short minute;
short second;
};

interface Time{
TimeOfDay get_gmt();
};
 
查看此人的个人资料 编辑贴子 引用回复 搜索此人的所有贴子 给此人发送短消息




版主



贴子数量 : 264
注册日期 : 10/28/2001
在线情况 : 离线

  发表于: 8/20/2002 - 02:25
这里有一个区别:

VC所能理解的IDL文件与CORBA中的IDL都是接口定义语言,但是MS的IDL指的是DCE RPC的IDL,不是CORBA的IDL。他们有类似的功能,但是语法和用法都是不兼容的。

所以使用midl编译CORBA的IDL文件会报错。

解决办法:

你可以使用手工编译CORBA的IDL文件(在命令行中进行),然后将编译后的C++源文件添加到工程中。
或在project的setting中,填写custom build

 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




新手上路



贴子数量 : 2
注册日期 : 8/13/2002
在线情况 : 离线

  发表于: 8/21/2002 - 01:03
问题解决了
原来vc6要加pack 3以上才可以的,我下载sp5安装后问题消失,
不过要注意的是,安装sp5后要重装一下orbix e2a。
 
编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息

COPYRIGHT © 2001-2002 huihoo.com
E-mail:webmaster@huihoo.com