虽然在windows上使用ACE已经比较熟练了,不过在linux上还用的不多,今天配置了一个环境,查了不少资料,最后才搞明白,不过还是值得的。
首先是下载一个完整版程序(官方还提供单独源码的,没有试过)到系统上解压缩。然后在里面建立一个build文件夹,进入后运行configure和make,make install命令。在虚拟机上跑了好长时间才make完,make install完成后会把必要源文件放入/usr/local/include/ace下面,库文件放在/usr/local/lib下面。不知道为什么必须要建立build文件夹才能执行configure这些命令,有点奇怪,可能是因为不能在主目录下运行configure命令,所以要进入到其他目录下。
此时如果你需要使用ace,可以写个简单程序,然后在make时候加入相应参数来指定库文件路径(头文件路径不需要指定了),如: g++ test.cpp -o test -L /usr/local/lib -l ACE
其实ace库文件的名字叫libACE.la不过在指定库文件名时只用ACE就可以了,这点搞了半天才发现,只是不知道此时链接程序选择的是so还是la库。
然后如果运行程序的话会提示找不到libACE.so,即使放在当前目录也还是找不到,于是采用如下的步骤:
编辑/etc/ld.so.conf文件,加入/usr/local/lib,保存
运行ldconfig
这样就可以运行了。在此参考了两个链接,前个是g++使用方面的,后面是ace配置的,感谢作者:
http://www.yuanma.org/data/2007/0725/article_2774.htm
http://blog.csdn.net/ztz0223/archive/2008/04/16/2298634.aspx