lua

编译32位和64位版本ACE 【转】

之前的文章说了如何在linux上编译,最近在Solaris上编译了一下,32位和64位都通过了。但64位的库还没试,不知道用起来会不会出现什么问题。下面先说下我的环境,和之前的方法一样,都是设置好环境变量

PATH=$PATH:$HOME/bin;export PATHACE_ROOT=/home/vimp/ACE_wrappers;export ACE_ROOTLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/lib:/usr/lib:/usr/local/lib;export LD_LIBRARY_PATHPATH=$PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/usr/vacpp/bin;export PATH我用的是g++,版本是3.3.1的,没用SUNC++,水平有限加上机器环境不太熟悉。下面为通用步骤:
1. 下载ACE包
下载下来tar.gz包,解开,

gunzip [.gz包]

tar -xvf [tar包名]

操作完后将会在当前目录下有ACE_wrappers目录。(注:我这里tar时,文件老是出点错误,是checksum的错误,后来我就在win下解压了,有压成.zip的包,传上去,用gunzip还是g解的我也忘了)

2. 设置环境变量

修改登陆脚本,如下所示:

$ vi /etc/profile

# User specific environment and startup programsPATH=$PATH:$HOME/bin;export PATHACE_ROOT=/home/vimp/ACE_wrappers;export ACE_ROOTLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/lib:/usr/lib:/usr/local/lib;export LD_LIBRARY_PATHPATH=$PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:$ACE_ROOT/bin:/usr/vacpp/bin;export PATHunset USERNAME具体是什么样子的忘了,主要就是设置好环境变量就是了。

修改后,重,环境变量设置好。

3. 修改文件
进入$ACE_ROOT/ace/下,修改config.h $vi config.h#include "ace/config_sunos5.9.h"保存退出进入$ACE_ROOT/include/makeinclude/下,建立platform_macros.GNU$vi platform_macros.GNUinclude $ACE_ROOT/include/makeinclude/platform_sunos5_g++.GNU保存退出4. 编译

进入$ACE_ROOT/ace下make。等待一会,编译完后,进入lib下,看是不是有.so文件了,成功!

这样是32位版本,ldd看下.so文件,依赖库也是32位的库,file看下也可以看的出来。

64位版本需要修改makefile文件了。在刚才的platform_macros.GNU中包含了platform_sunos5_g++.GNU这个文件,修改这个文件。修改CFLAGS和SOFLAGS,加上-m64编译选项。

我用的机器是2个CPU的,所以为了便宜环境时的速度,可以make的时候加选项,make -j n   , n为CPU个数,-j的意思是同时并行处理的job数。

编译64位的ACE的时候,会有些类型转换的的警告,不用理会他,可以成功编译出来.so文件,但具体使用会不会有问题,还要进一步试


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/andy6355/archive/2006/11/01/1360491.aspx

posted on 2011-03-28 13:13 chib 阅读(3122) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(1)

随笔档案

牛人录

时政史料

投资管理

源码库

搜索

最新评论

阅读排行榜

评论排行榜