1

我有点卡住了试图编译一个简单的 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=/home/ricardo/Desktop/librerias/dds/ACE_wrappers/ace:/usr/local/sbin:/usr/local/bin :/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 并且环境变量设置为:

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

/home/ricardo/桌面/librerias/dds

谁能看到有什么问题?,我错过了一步吗?ai 还需要哪些其他环境变量才能编译 *.idl 文件?

4

1 回答 1

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 环境变量也使用导出并指向具有共享库的目录。

于 2013-02-13T20:04:55.067 回答