用XCode 开发基于网络库ACE的应用

环境: MacOSX10.6.5 XCode 3.2.5 ACE 6.0.0

ACE 来自 http://download.dre.vanderbilt.edu/previous_versions/ACE-6.0.0.tar.gz,因为里面包含预先生成的makefiles, 况且自己不太会用MPC生成

控制台进入你解压出的ACE_wrappers目录, 首先为之后的编译create a bash profile

cd …../ACE_wrappers 
export ACE_ROOT=$(pwd) 
echo "export ACE_ROOT=$ACE_ROOT" >> bash_profile 
echo "export LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib" >> bash_profile 
echo "export DYLD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib" >> bash_profile 
echo "export MACOSX_DEPLOYMENT_TARGET=10.6" >> bash_profile
. ~/.bashsrc

也可以加上这句, 针对特定的sdk版本

export CFLAGS="-g -O2-isysroot /Developer/SDKs/MacOSX10.6.sdk"

在ACE_wrappers/ace目录下创建config.h,内容如下

#include"ace/config-macosx-snowleopard.h"

在ACE_wrappers/include/makeinclude目录下创建platform_macros.GNU, 内容如下

debug = 1
shared_libs = 0        // 创建共享库就为1,否则为0
static_libs = 1          //创建静态库就为1,否则为0
include${ACE_ROOT}/include/makeinclude/platform_macosx_snowleopard.GNU INSTALL_PREFIX= /opt/local

回到控制台make 整个ace

cd $ACE_ROOT
make

之后就能在$ACE_ROOT/lib下看到各个静态库的链接, 比如libACE.a, libGateway.a

接下来 installace到系统的/usr/local, 子目录include和lib如果没有可以sudo mkdir

sudo ln -s $ACE_ROOT/ace/usr/local/include/ace(incluce)
sudo ln
-s $ACE_ROOT/ace/libACE.a/usr/local/lib/

最后打开XCode, 为新建C++项目添加existing frameworks, 找到 /usr/local/lib/libACE.a

接下来就是#include<ace***.h>头了.

原文地址:https://www.cnblogs.com/shenfei2031/p/1926902.html