天天看點

建構嵌入式版本的 ACE TAO 6.5.3

introduction

之前曾在ubuntu 18.04中建構嵌入式版本的ACE TAO 6.5.3. 在之後使用過程中發現, 當更新系統工具鍊後, ACE TAO 庫不相容本地環境的系統庫.具體表現形式為ACE TAO中示例程式執行時将出現

segment fault

. 經過在本地重新建構ACE TAO 6.5.3得出新的ACE TAO動态連結庫,才能使ACE TAO示例程式正常使用.

本文描述内容包括

  • 建構嵌入式版本ACE TAO的方法
  • ACE TAO 測例的執行

系統環境

Ubuntu 18.04.2

gcc version 7.4.0

glibc version 2.27

建構

解壓源代碼 ace tao 6.5.3

tar zxvf ACE+TAO-6.5.3.tar.gz
           

設定編譯ACE TAO時需要的環境變量

export ACE_ROOT=${pwd}/ACE_wrappers
export TAO_ROOT=${ACE_ROOT}/TAO
export CIAO_ROOT=${pwd}/CIAO
export DANCE_ROOT=${pwd}/DANCE
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${$ACE_ROOT}/ace:${ACE_ROOT}/lib
export PATH=$PATH:$ACE_ROOT/bin
           

修改若幹配置檔案,設定以嵌入式為目标編譯ACE TAO

cd $ACE_ROOT
echo '#include "ace/config-linux.h"' > ${ACE_ROOT}/ace/config.h
echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > ${ACE_ROOT}/include/makeinclude/platform_macros.GNU
echo 'INSTALL_PREFIX=$(ACE_ROOT)/INSTALL/' >> ${ACE_ROOT}/include/makeinclude/platform_macros.GNU
echo 'corba_e_compact=1' > ${ACE_ROOT}/bin/MakeProjectCreator/config/default.features
           

編譯ACE TAO

mkdir INSTALL
bin/mwc.pl -type gnuace
make -j
           

編譯過程中将編譯ACE TAO動态連結庫,測試檔案,ACE TAO 示例等.

運作示例

進入示例所在目錄

cd ${ACE_ROOT}/TAO/examples/Simple/echo/ 
./server -o ior_file 
./client -o ior_file
           

在執行

client

的互動式終端中輸入字元串.若傳回相同字元串,則測試成功.

繼續閱讀