日期:2014-05-16  浏览次数:20588 次

ACE编译的问题
ACE编译过程巨长,有很多东西不想编译,比如SNMP,如何禁止?
编译出来的动态库有7、8M了,如何制作release版本?

------解决方案--------------------
第一个问题我也想知道,,第二个问题加一个参数debug=0
------解决方案--------------------
ACE-INSTALL.html
------解决方案--------------------
看安装文档了! 虽然E文很难,但常用的MAKE参数应该要混个眼熟!
------解决方案--------------------
首先你只下载ACE,不要下包含TAO和CIAO的安装包。

第一步、下载安装包
http://download.dre.vanderbilt.edu/
最新发布稳定的版本。Latest Release下面的ACE-5.5.tar.gz 。还可以下文档ACE-5.5-html.tar.gz 。

第二步、解压
把ACE-5.5.tar.gz 解压到一个目录。例如你的主目录/home/yourname 。那么完成之后的目录就有/home/yourname/ACE_wrappers ,我们把这个目录称为ACE根目录。

第三步、安装前的准备
按照ACE根目录下ACE-INSTALL.html中的说明 Building and Installing ACE on UNIX 之 2.Traditional ACE/GNU Make Configuration
我这里的第三步相当于那里的前面5步。
你自己也可以看一原来的英文。这儿我也说一下。

设置环境变量.我的SHELL是bash的。所以在控制台执行下面两句
ACE_ROOT=/home/yourname/ACE_wrappers;export ACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH
我也不清楚这两句对安装有没有影响。

建立文件 $ACE_ROOT/ace/config.h 和 ACE_ROOT/include/makeinclude/platform_macros.GNU

第四步、安装
即安装说明中的第6点。这里最重要的就是你在什么目录输入make指令。如果你只编译ACE的基本的组件,就先在控制台移动到目录/home/yournmae/ACE_wrappers/ace,再 make 。如果全部编译则就在/home/yournmae/ACE_wrappers了。

下面是那段英文:
Building the entire ACE release can take a long time and consume lots of disk space, however. Therefore, you might consider cd 'ing into the $ACE_ROOT/ace/ directory and running make there to build just the ACE library.
中文意思:
然而编译整个的ACE会花较长时间,并且占用大量磁盘空间。因而,你可以进入(用CD指令)$ACE_ROOT/ace/目录,在这里运行make,就只编译ACE基本库。

第五步、调整
编译完成后,会在$ACE_ROOT/ace目录下生成libACE.so.5.5.0文件。在$ACE_ROOT/lib下面生成两个符号链接文件libACE.so libACE.so.5.5.0 。把$ACE_ROOT/ace下的libACE.so.5.5.0复制到/usr/lib下,并建立符号链接libACE.so 。具体命令:
sudo cp /home/yourname/ACE_wrappers/ace/libACE.so.5.5.0 /usr/lib
sudo ln -s libACE.so.5.5.0 libACE.so
为什么这样做呢?是因为,我在用编程的时候,我的程序编译通过了,但在运行的时候提示说没有libACE.so.5.5.0。这个问题可能得看情况。

到此,搞定。不足之处还请指教。