OpenDDS IDL编译器编译问题

时间:2013-02-13 18:42:43

标签: ubuntu idl ace tao data-distribution-service

我尝试编译一个简单的IDL文件有点困难。

root@ricardo:/home/ricardo/Desktop/librerias/dds/DDS/bin# ldd opendds_idl 
linux-gate.so.1 =>  (0xb771e000)
**libTAO_IDL_FE.so.5.6a_p14 => not found
libACE.so.5.6a_p14 => not found**
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb76e3000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb75fa000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb75dc000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7432000)
/lib/ld-linux.so.2 (0xb771f000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7406000)

正如您所看到的,编译器没有找到LibTao和LibAce,但它在PATH中设置:

  

echo PATH = / home / ricardo / Desktop / librerias / dds / ACE_wrappers / ace:$ PATH   PATH = /家庭/里卡多/桌面/ librerias / DDS / ACE_wrappers / ACE:在/ usr / local / sbin中:在/ usr / local / bin目录:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏   环境变量设置为:

root@ricardo:/home/ricardo/Desktop/librerias/dds/DDS/bin# echo $DDS_ROOT

/家庭/里卡多/桌面/ librerias / DDS

任何人都可以看到有什么问题吗?我错过了一步吗? 我需要哪个其他环境变量可以编译* .idl文件?

1 个答案:

答案 0 :(得分:1)

[求助]我只需添加以下几行:

 export LD_LIBRARY_PATH=/home/ricardo/Desktop/librerias/dds/ACE_wrappers/ace:$LD_LIBRARY_PATH 

添加ACE;然后是TAO Libs:

 export LD_LIBRARY_PATH=/home/ricardo/Desktop/librerias/dds/ACE_wrappers/TAO/TAO_IDL:$LD_LIBRARY_PATH

设置ACE_ROOT和TAO_ROOT环境varibeles也使用export并指向具有共享库的dirs。