Ubuntu环境下编译ACE

Ubuntu ACE编译环境搭建:

1. 安装32位库文件 sudo apt-get install gcc-multilib g++-multilib

2. 删除旧的ACE_wrappers目录

3. 解压ACE源码文件 tar zxvf ACE-6.2.0.tar.gz,将编译脚本buildACE放在ACE_wrappers同级目录

执行buildACE即可完成编译。

chmod +x buildACE.sh ./buildACE


#!/bin/bash

sudo dpkg -s gcc-multilib g++-multilib
if [ $? -ne 0 ]
then
	echo ""
	echo "please install gcc-multilib g++-multilib!"
	exit
fi

export CURRDIR=$PWD
export ACE_SOURCE=$CURRDIR/ACE-6.2.0.tar.gz
export ACE_ROOT=$CURRDIR/ACE_wrappers
export LD_LIBRARY_PATH=$ACE_ROOT/lib

ACE_X86_DEBUG_SO=so_ubuntu_x86_gcc4-8-4_debug
ACE_X86_DEBUG_LIB=lib_ubuntu_x86_gcc4-8-4_debug
ACE_X86_RELEASE_SO=so_ubuntu_x86_gcc4-8-4_release
ACE_X86_RELEASE_LIB=lib_ubuntu_x86_gcc4-8-4_release
ACE_X64_DEBUG_SO=so_ubuntu_x64_gcc4-8-4_debug
ACE_X64_DEBUG_LIB=lib_ubuntu_x64_gcc4-8-4_debug
ACE_X64_RELEASE_SO=so_ubuntu_x64_gcc4-8-4_release
ACE_X64_RELEASE_LIB=lib_ubuntu_x64_gcc4-8-4_release


# 32 debug so ACE_X86_DEBUG_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X86_DEBUG_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=32 debug=1 shared_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/include
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/bin
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/share
mv -f $CURRDIR/$ACE_X86_DEBUG_SO/lib/*.* $CURRDIR/$ACE_X86_DEBUG_SO/ 
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X86_DEBUG_SO/lib

 
# 32 debug lib ACE_X86_DEBUG_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X86_DEBUG_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/*.*
rm  $ACE_ROOT/lib/*.*
cd $ACE_ROOT
make buildbits=32 debug=1 static_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/include
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/bin
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/share
mv -f $CURRDIR/$ACE_X86_DEBUG_LIB/lib/*.* $CURRDIR/$ACE_X86_DEBUG_LIB/
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X86_DEBUG_LIB/lib

# 32 release so ACE_X86_RELEASE_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X86_RELEASE_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=32 shared_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/include
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/bin
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/share
mv -f $CURRDIR/$ACE_X86_RELEASE_SO/lib/*.* $CURRDIR/$ACE_X86_RELEASE_SO/ 
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X86_RELEASE_SO/lib

# 32 release lib ACE_X86_RELEASE_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X86_RELEASE_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=32 static_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/include
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/bin
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/share
mv -f $CURRDIR/$ACE_X86_RELEASE_LIB/lib/*.* $CURRDIR/$ACE_X86_RELEASE_LIB/ 
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X86_RELEASE_LIB/lib

# 64 debug so ACE_X64_DEBUG_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X64_DEBUG_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 debug=1 shared_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/include
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/bin
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/share
mv -f $CURRDIR/$ACE_X64_DEBUG_SO/lib/*.* $CURRDIR/$ACE_X64_DEBUG_SO/ 
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X64_DEBUG_SO/lib

# 64 debug lib ACE_X64_DEBUG_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X64_DEBUG_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 debug=1 static_libs_only=1
make install
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/include
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/bin
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/share
mv -f $CURRDIR/$ACE_X64_DEBUG_LIB/lib/*.* $CURRDIR/$ACE_X64_DEBUG_LIB/ 
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X64_DEBUG_LIB/lib

# 64 release so ACE_X64_RELEASE_SO
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X64_RELEASE_SO" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 shared_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/include
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/bin
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/share
mv -f $CURRDIR/$ACE_X64_RELEASE_SO/lib/*.* $CURRDIR/$ACE_X64_RELEASE_SO/ 
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/pkgconfig
rm -rf $CURRDIR/$ACE_X64_RELEASE_SO/lib

# 64 release lib ACE_X64_RELEASE_LIB
rm -rf $ACE_ROOT
cd $CURRDIR
tar zxvf $ACE_SOURCE
echo "#define ACE_HAS_IPV6" > $ACE_ROOT/ace/config.h
echo "#define ACE_HAS_EVENT_POLL" >> $ACE_ROOT/ace/config.h
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=$CURRDIR/$ACE_X64_RELEASE_LIB" >> $ACE_ROOT/include/makeinclude/platform_macros.GNU
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB
rm  $ACE_ROOT/lib/*
cd $ACE_ROOT
make buildbits=64 static_libs_only=1 debug=0
make install
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/include
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/bin
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/share
mv -f $CURRDIR/$ACE_X64_RELEASE_LIB/lib/*.* $CURRDIR/$ACE_X64_RELEASE_LIB/ 
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/pkgconfig
rm -rf $CURRDIR/$ACE_X64_RELEASE_LIB/lib

cd $CURRDIR

echo "ACE compile complete!!"


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值