Linux 下 ACE 编译步骤

Linux 下 ACE 编译步骤

阅读提示:

本文已过时。

对于习惯了“三板斧”的 Linux 用户而言,解压 ACE

后发现的第一个问题一定是:居然没有熟悉的

configure!是的,ACE 没有使用 autoconf。

首先,我们需要设置 $ACE_ROOT

环境变量,把该环境变量指向你解压 ACE

后得到的最上层目录,如果你把 ACE

解压到了其它目录,请修改下面提到的路径。

export ACE_ROOT=/src/ACE_wrappers

接下来,我们进入 $ACE_ROOT/ace

目录,创建一个文本 config.h,内容如下:

#include "ace/config-linux.h"

然后,我们进入 $ACE_ROOT/include/makeinclude

目录,创建一个文本文件

platform_macros.GNU,内容如下:

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

然后回到 $ACE_ROOT 目录,执行 make。

编译过程执行到中途的时候会出错,那是因为 ACE

库中的部分代码需要通过一个代码生成器来生成,而令人发指的一点是该代码生成器居然依赖

ACE 的库,而此时 ACE

的库却还没有安装。没关系,虽然整个 ACE

还没有编译完,但它依赖的 libACE.so

却已经准备好了。切换到 root 下把

libACE.so.5.4.8 (如果你安装的 ACE

源码库与我的版本不一致,这个数也可能是别的)

复制到 ldconfig 能找到的路径下,如 /usr/lib 或

/usr/local/lib 下,执行 ldconfig

刷新系统库列表,然后删除

$ACE_ROOT/apps/gperf/tests/cpp.cpp,最后重新运行

make,经过漫长地等待后,ACE 就编译好了。

为了方便使用,我们可以把 $ACE_ROOT/lib

下的内容复制到 /usr/lib 或

/usr/local/lib

下,可以使用滇狐编写的这段脚本复制共享库,命令行为:./install.sh /usr/local/lib。

#!/bin/sh

# Please place this file at $(ACE_ROOT)

if (test $# -lt 1) then

echo 'Usage: install.sh '

else

pushd $1

for file in $ACE_ROOT/lib/*

do

realname=`readlink $file`

ln -s `basename $realname` `basename $file`

cp --remove-destination $realname .

done

popd

fi

标签:ACE 笔记 Linux 编译 过期文章

相关推荐

访问错误
365bet体育在线直播

访问错误

📅 07-02 👁️ 5434
成为专业摄影师的15个必备条件
365bet体育在线直播

成为专业摄影师的15个必备条件

📅 07-04 👁️ 3862
上帝的英文翻译
365bet足球真人

上帝的英文翻译

📅 10-20 👁️ 1493
品牌简介
365bet足球真人

品牌简介

📅 09-18 👁️ 2750
32g等于多少gb
365bet足球真人

32g等于多少gb

📅 08-31 👁️ 7480
恬妞万梓良当年为什么离婚?万梓良的复杂情史揭秘令人傻眼