ACE环境构建笔记(Linux)
来源:互联网 发布:大连市软件行业协会 编辑:程序博客网 时间:2024/05/01 18:52
http://blog.csdn.net/i_noname/archive/2006/04/04/650055.aspx
1:下载ACE源码包。我下的是5.4版的,文件名为ACE54SRC.tar.gz。gzip解压,tar解包后,得到一个叫ACE_wrappers的目录,我把它放在/home/lok/ace目录下。注意如果我没有特别说明,所有操作都是在一般用户下进行的。
2:编译前的必要工作。
设置环境变量,在shell下输入:ACE_ROOT=/home/lok/ace/ACE_wrappers; export ACE_ROOT
(注意上面的操作是在同一行中执行的,如果要分行,可以不用分号)。这样设置的变量只是临时的,如果想要永久保存这个变量,可以切换到root,把变量写到文件/etc/profile中;)
在$ACE_ROOT/ace目录下新建一个config.h文件,内容为:#include "ace/config-linux.h"
在$ ACE_ROOT/include/makeinclude目录下新建一个platform_macros.GNU文件,内容为: include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
3:转到$ACE_ROOT/ace目录下,输入make编译,OK。
4:切换到root用户,把刚生成的libACE.so和libACE.so.5.4.0(在$ACE_ROOT/ace目录下)拷贝到/usr/lib,ACE开发环境构建完毕!
**************写个小程序测试ACE**************
1:编写Log_Msg.cpp,内容如下:
#include "ace/Log_Msg.h"
void foo (void);
int ACE_TMAIN (int, ACE_TCHAR *[])
{
ACE_TRACE(ACE_TEXT ("main"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Mom/n")));
foo();
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight/n")));
return 0;
}
void foo (void)
{
ACE_TRACE (ACE_TEXT ("foo"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner/n")));
}
2:写makefile,内容如下:
LIB = -lACE
LIBPATH = -L$(ACE_ROOT)/ace
HPATH = -I$(ACE_ROOT)
Log_Msg : Log_Msg.cpp
g++ Log_Msg.cpp -o Log_Msg $(LIB) $(LIBPATH) $(HPATH)
3:make,运行Log_Msg,测试完毕!
***************补充*************
$(ACE_ROOT)/example下有很多例子可以参考,但你会发现它们的makefile写得很奇怪,这是因为这些makefile是由程序自动生成的,目的是让它们可以在不同系统下都可正常工作。关于这些makefile,可以到http://www.kehui.net/index.php?op=article&file=read&aid=30812去看一下。如果你的程序只需要在linux下工作,那只要自己写上-lACE就可以了。
- ACE环境构建笔记(Linux)
- ACE环境构建笔记(Linux)
- ACE环境构建笔记(Linux)
- ACE的构建(linux + windows)
- Linux 下ACE的构建
- Linux 下ACE的构建
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE的构建(VC++6.0环境)
- ACE笔记:(1)ACE自适配通信环境
- ACE的构建(VC++6.0环境)[转]
- ACE 在linux环境下安装配置
- javacript实现TreeView中checkBox的选择
- VirtualAllocEx 跨进程读写数据 代码注入
- jsp实现文件上传
- c# 反射的用法
- Understanding MySQL Internals 3:搭建环境
- ACE环境构建笔记(Linux)
- CString如何转COleDateTime
- 通用不间断滚动JS封装类
- C-51的数据存储区域与性能
- Cool! XDialogHeader
- 静态编译wxWidgets 2.8.7
- 用FFDShow进行WMV编码
- 缓存AOP编程的文摘(java例子),数据缓存切入编程的文章。【截取】
- 一个Max和Min的技巧