[ C++で開発 ] [ TAO CORBA実装 ]
CentOS 5のアップデート後のGCC(C++)コンパイラのバージョンは、4.1.2となります。
OCI社のWebサイトのTAOページからダウンロードページへリンクを辿り、TAO1.5aを入手します。1.5aとは、本家TAOの1.5.6をベースにOCI社がパッチを当てたものです。
作業ディレクトリとして、$HOME/workを設け、その下に展開します。
torutk$ cd work work$ gtar xzf ACE+TAO-1.5a_with_latest_patches.tar.gz : work$ cd ACE_wrappers ACE_wrapperse$
$HOME/work/ACE_wrappers/ace/config.h ファイルを新規作成します。
#include "ace/config-linux.h" #define ACE_HAS_IPV6 |
$HOME/work/ACE_wrapers/include/makeinclude/platform_macros.GNU ファイルを新規に作成します。
OCI社のRelease Notesを参照し、ファイルに記述するオプションを指定します。
inline=1 ami=1 rt_corba=1 interceptors=1 corba_messaging=1 shared_libs_only=1 probe=0 profile=0 debug=1 optimize=1 ipv6=1 no_hidden_visibility=1 include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU |
GCCの問題でTAO-1.5.10以前(TAO 1.5aを含む)では、no_hidden_visibilityを指定する必要があります。
ipv6の指定は不要かもしれませんが、念のため。
ACE_wrappers$ export ACE_ROOT=`pwd` ACE_wrappers$ echo $ACE_ROOT /export/home/torutk/work/ACE_wrappers ACE_wrappers$
ACE_wrappers$ export TAO_ROOT=$ACE_ROOT/TAO ACE_wrappers$ echo $TAO_ROOT /export/home/torutk/work/ACE_wrappers/TAO ACE_wrappers$
ACE_wrappers$ export LD_LIBRARY_PATH=$ACE_ROOT/ace:$TAO_ROOT/lib:$LD_LIBRARY_PATH ACE_wrappers$
ACE_wrappers$ cd TAO TAO$ make : TAO$