我用的CORBA的产品是国防科技大学研发的StarBus3.0-Win  
作者写了一个ordbm.idl文件.编译后生成四个文件ordbm.h  ,  ordbm.cpp  ,  ordbm_skel.h  ,  ordbm_skel.cpp  .而且用c++实现了接口,实现类源文件头文件是ordbm_impl.h  ,  ordbm_impl.cpp  
然后书写服务器运行程序.编译后出现下面的一个错误  
e:\paper\corba\ordbmserver\ordbm.h(19)  :  fatal  error  C1189:  #error  :    No  StarBusversion  defined!  Is  <STAR/CORBA.h>  included?  
 
ordbm.h是idl编译器生成的文件.程序员不要轻易改动.可是编译器提示出现它有错误.想尽各种方法还是百思不得其解.请各位高手指点!!.不胜感激!!  
谢谢!!

解决方案 »

  1.   

    你是编译哪个cpp出的这个错?
    最好参照已有的例子来做
      

  2.   

    除了ordbm.h  ,  ordbm.cpp  ,  ordbm_skel.h  ,  ordbm_skel.cpp 和用c++实现了接口,实现类源文件头文件是ordbm_impl.h  ,  ordbm_impl.cpp  外就是ORDBMServer.cpp文件.
    ORDBMServer.cpp是服务器运行程序的主程序.
    我在编译主程序时出现了这个错误.可是我的主程序是按照例子编写的啊?
      

  3.   

    大家快来顶啊,有没有人用过CORBA,小弟在这里多谢了!!
      

  4.   

    把ordbm_skel.h , ordbm_skel.cpp加到工程中,在server.hpp中加上#include "ordbm_skel.h",编译整个工程!
    试试看,应该可以了!
      

  5.   

    我现在把main函数的内容都注释掉了。还是出现这个错误!难道是idl文件有错误吗?可是如果idl文件有错误它也不会编译生成4个文件ordbm.h , ordbm.cpp , ordbm_skel.h , ordbm_skel.cpp 啊?求求各位大哥了!
    int main()
    { return 0;}