环境: 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>头了.