ACE TAO Corba Ubuntu 10.4对CORBA :: Object :: _ refcount_value()的未定义引用

时间:2010-06-10 09:53:18

标签: eclipse ubuntu corba ace tao

我在使用包管理器中提供的libTao附带的示例程序时遇到一些问题。我过去曾经使用过ace的windows,所以我已经有了一些经验。

到目前为止,我已经设置了所有环境变量,为“Simple Client”示例创建了一个新项目。我可以编译.idl罚款。当我尝试编译客户端时,我收到链接器错误...

Building target: CorbaTest
Invoking: GCC C++ Linker
g++ -Xlinker -Map -Xlinker txt.txt -Xlinker --cref -o"CorbaTest" ./src/EchoC.o ./src/EchoS.o ./src/Echo_Client_i.o ./src/Echo_I.o ./src/client.o -lACE -lTAO -lTAO_AnyTypeCode -lTAO_BiDirGIOP -lTAO_CodecFactory -lTAO_CosNaming -lTAO_DynamicAny -lTAO_EndpointPolicy -lTAO_DynamicInterface -lTAO_IFR_Client -lTAO_ImR_Client -lTAO_IORInterceptor -lTAO_IORTable -lTAO_Messaging -lTAO_ObjRefTemplate -lTAO_PI -lTAO_RTCORBA -lTAO_RTPortableServer -lTAO_PortableServer -lTAO_SmartProxies -lTAO_Strategies -lTAO_TypeCodeFactory -lTAO_Utils -lTAO_Valuetype -lTAO_CSD_ThreadPool -lTAO_TC -lTAO_TC_IIOP -lTAO_Compression -lTAO_ZlibCompressor
./src/EchoC.o:(.rodata._ZTV4Echo[vtable for Echo]+0xe0): undefined reference to `CORBA::Object::_refcount_value() const'
collect2: ld returned 1 exit status
make: *** [CorbaTest] Error 1

我无法在网上找到关于CORBA::OBbject_refcount_value()的任何内容,指出我可能会错过的图书馆方向。我已经从这里http://www.dre.vanderbilt.edu/~schmi...libraries.html包含了所有推荐的库,但仍然得到相同的错误。这是应该编译和链接提供的Tao分发的示例代码。我缺少什么想法?哦,如果它有任何区别,我会使用eclipse。

谢谢:)

1 个答案:

答案 0 :(得分:2)

您的链接器可能无法使用库顺序。你首先得到了libACE,然后是libTAO等。如果libA依赖于libB,那么对于一些连接器,那么libA应该在链接中的libB之前(即,左边)。因此,由于TAO依赖于ACE,请尝试将libTAO放在libACE的左侧。实际上,您可能会尝试颠倒链接中库的顺序,因为您列出的所有libTAO_ *库都依赖于libTAO。

更好的是,您可能想要查看ACE + TAO附带的免费MPC工具。它可以为大多数平台生成无故障的ACE + TAO Makefile。它位于$ ACE_ROOT / bin目录中,并且有详细记录。有关信息,请参阅http://www.ociweb.com/products/mpc。我不知道它对Eclipse有多好,但它可能值得一试。也许你可以在Eclipse中编辑代码并从命令行编译。