peakzhang 发表于 2007-12-24 23:16:03

跟我一步一步学使用ACE(linux 版) - by stone

跟我一步一步学使用ACE(linux 版)

stone jiang<2005119[@]gmail.com>

0. 使用ACE,首先要认真阅读ACE相关的文档。
   http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html
   如果看完之后能正确使用ACE,那就别再向下看了,请忽略本文。

1. 获取ACE源代码
   
   获取ACE的方法,可以从官方网站上下载,也可以通过svn check out最新的代码。先说下载的方法:
1) 下载 ACE
    http://download.dre.vanderbilt.edu/
2) SVN获取ACE
    先导需求:已安装了svn
    假如您准备把ACE放在/usr/目录下,切换到root或对/usr目录有权限的用户下
    svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/sets-anon/ACE+TAO+CIAO .    svn会获得最新的代码。
2. 设置环境变量
   注意:后面的操作都会使用到ACE_ROOT这个环境变量,请一定不要自已用别的变量名替代
   1) ACE_ROOT=/usr/ACE+TAO+CIAO/ACE_wrappers;export ACE_ROOT
   2) LD_LIBRARY_PATH=$ACE_ROOT/lib;export LD_LIBRARY_PATH

3. 通过MPC生成Makefile文件
    cd $ACE_ROOT
    $ACE_ROOT/bin/mwc.pl -type make $ACE_ROOT/ace/ace.mwc
4.
   如果第3步没有出错的话,那以,可以编译ACE了
   在$ACE_ROOT/ace目录下,运行
   make

5. 不出意外的话,就会在$ACE_ROOT/lib中看到编译ACE的成果
   libACE.so
以上是ACE的编译.


-------------------------------------------------------------------
接下来我们开始学习一下写hello ace.

//---------------------------------------------------------------
//@file: hello.cpp

#include <stdio.h>
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"
int ACE_TMAIN(int argc, ACE_TCHAR* argv[])
{
   ACE_DEBUG((LM_DEBUG,ACE_TEXT("hello world.\n")));
   return 0;
}

//-------------------------------------------------------------
再写hello.mpc

project(hello) :aceexe{
exename = hello
after += hello

Source_Files {
   hello.cpp
}
}

------------------------------------------------------------
用MPC实用工具生成Makefile文件
$ACE_ROOT/bin/mwc.pl -type make hello.mpc
您将得到Makefile和Makefile.hello两个文件
运行make
可以得到可执行文件hello
./hello
得到
Hello world.


到此,您已经进入ACE世界了。祝您越走越远!

peakzhang 发表于 2007-12-24 23:16:17

晕,发现一个错误
第4步应该为:
$ACE_ROOT/ace目录下而不是$ACE_ROOT下
4.
   如果第3步没有出错的话,那以,可以编译ACE了
   在$ACE_ROOT/ace目录下,运行
   make


我刚学linux,对写 shell还不太熟悉。
其实,我觉得可以把上面的操作写成一个 shell来执行。

peakzhang 发表于 2007-12-24 23:16:29

关于MPC

请教楼主,我很不明白MPC文件的作用,它是个啥子东西?在整个编译过程中是起到啥子作用?

哪里可以有他的使用手册?

谢谢。

peakzhang 发表于 2007-12-24 23:16:37

MPC是为ACE程序编写make file文件的实用工具,用perl写的。

只需要一次书写 hello.mpc,就可以为不同平台,不同编译器生成对应的make file文件,这对于要在多个平台下编译同一套代码来说,那真是太好了。对于我等 对不太懂makefile的人,MPC也是一个很好的工具。


对于vc来说,可以生成hello.vcproj, hello.sln (支持vc71, vc 8) ,也可以生成windows下的nmake对应的makefile文件。

MPC对应的脚本是放在ACE_ROOT/bin下的,mwc.pl
在ACE_ROOT/MPC/doc下有一个MPC的USEAGE

peakzhang 发表于 2007-12-24 23:16:44

赞,石头兄研究东西深入啊
我到现在都只会在windows下面用ACE

linux下面,sigh,俺只会把所有内容copy到一个main.cpp里面去编译
页: [1]
查看完整版本: 跟我一步一步学使用ACE(linux 版) - by stone