跟我一步一步学使用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世界了。祝您越走越远! 晕,发现一个错误
第4步应该为:
$ACE_ROOT/ace目录下而不是$ACE_ROOT下
4.
如果第3步没有出错的话,那以,可以编译ACE了
在$ACE_ROOT/ace目录下,运行
make
我刚学linux,对写 shell还不太熟悉。
其实,我觉得可以把上面的操作写成一个 shell来执行。
关于MPC
请教楼主,我很不明白MPC文件的作用,它是个啥子东西?在整个编译过程中是起到啥子作用?哪里可以有他的使用手册?
谢谢。 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 赞,石头兄研究东西深入啊
我到现在都只会在windows下面用ACE
linux下面,sigh,俺只会把所有内容copy到一个main.cpp里面去编译
页:
[1]