TAO是一个开源的Corba平台。
MPC 是TAO自带的一个工具,它可以为不同的build tool产生工程文件。
1. 编译TAO
参考TAO的文档:
http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html
2. TAO编译成功后,我们就可以在$ACE_ROOT/bin下找到下面两个文件
mpc.pl mwc.pl
以及一些Base project file .mpb (at $ACE_ROOT/TAO/MPC).
3. MWC/MPC 简介
mwc.pl(Makefile Workspace Creator)可以为我们所以的Project产生一个workspace。
例如我们有一个server.mpc文件,里面有两个project,当我们运行下面的命令后,它会生成下面的一些工程文件
$ACE_ROOT/bin/mwc.pl -type make (注意这里一定要指定运行使用$ACE_ROOT/bin)
Makefile. Makefile.Server
mpc.pl(Makefile Projects Creator)可以为根据.mpc文件生成相应的Makefile.
命令如下:
$ACE_ROOT -type make
这里只生成了Makefile.Server, 没有Makefile, so我们在build的时候要指定某一个Makefile
如:make -f Makefile.Server
4. 问题
MPC文件(.mpc)是工程文件,TAO有一个非常好用的地方,那就是它定义了一些Base project, 这些Base project 通常指定了使用了那一些库,包含那一些头文件之类的,这样我们在定义自己的工程文件的时候就可以继承这些Base Project,如下:
project(MessageServer):taoserver {
exename = MessageServer
includes += /usr/local/include/
libpaths += /usr/local/lib/
Source_Files {
Messenger_i.cpp
MessengerServer.cpp
}
}
这里我们的project(MessageServer)继承了taoserver, 这样我们在make的时候链接器就会链接一些库。参考下面的链接可以查看这些MPB文件与TAO库文件的对应关系:
http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/libraries.html
MPB文件通常是在TAO安装的时候就有的,具体的位置是:$ACE_ROOT/TAO/MPC/config
5. 等待更新。。。。。。