转自:http://blog.chinaunix.net/uid-20443874-id-1945879.html
在linux下编译ACE的文章网上一搜一大堆,基本都差不多,使用ACE自带的ACE_install.sh脚本,这种方法比较麻烦,要建什么ACE_ROOT环境变量,改安装脚本等。如果只是生成动态的so文件还好,要生成静态的.a文件用ACE-install.sh就显得很不自由了(我没试好)。有人说要在platform_macros.GNU文件里加一行static_libs=1,但是刚解压出的ACE_wrappers/include/makeinclude下没这个文件,这个文件是执行安装脚本时生成的链接文件,链向的对象是该目录下的platform-linux.h,如果是在linux下安装的话。这样就没有机会加上那一行了。仔细读读安装脚本,发现做的工作其实很简单,不用它也相当简单。
首先将ACE*.tar.gz解压到要安装的目录下,比如/usr/ACE,这样会在这个目录下生成一个ACE_wrappers目录。进入此目录。
接下来有三件事要做。一是到ace下执行ln -s config-linux.h config.h,二是到include/makeinclude下执行ln -s platform-linux.GNU platform-macros.GNU,三是修改platform-linux.GNU,在任意地方添加一行static_libs=1.
一切准备妥当了,然后在ACE_wrappers目录下执行gmake就行了,接下来就是喝茶等结果了,我用的机器超线程的,比较快,只用了几分钟,然后就在lib目录下看见了一堆.a了,呵呵。
上面步骤比使用自带的安装脚本简便多了。如果只想生成动态的.so文件则只要做上面的前两件事就行了。