ACE开发新手上路
2010-09-19 17:47
183 查看
0.1. ACE简单环境构建
是什么?
中文介绍,很全面,很易懂。
http://wiki.huihoo.com/index.php?title=ACE
资源包
http://download.dre.vanderbilt.edu/
选择下载
ACE.tar.gz 就可以了
存放在相应路径
例如
推荐安装
(编译成静态库,方便进一步开发
)
0.2. 桌前准备参考书
《
ACE Programmer's Guide》
1. 制作一个简单的
hello_ACE.cpp
hello_ACE.cpp
2. 制作
Makefile
文件头加入
ACE_ROOT= /tmp/ACE_wrappers
静态库需要加入
$(ACE_ROOT)/build/ace/.libs/libACE.a
动态库需要加入
-lpthread -lrt -ldl
因为没有
make install
所以
Makefile 中要加入
-L$(ACE_ROOT)/build/ace/.libs/
3. 编译测试
编译
是什么?
中文介绍,很全面,很易懂。
http://wiki.huihoo.com/index.php?title=ACE
资源包
http://download.dre.vanderbilt.edu/
选择下载
ACE.tar.gz 就可以了
存放在相应路径
例如
/tmp/ cd /tmp
推荐安装
(编译成静态库,方便进一步开发
)
tar -xzf ACE-5.6.6.tar.gz cd ACE_wrappers mkdir build cd build ../configure --enable-static --enable-threads --disable-ssl make #static_libs=1
0.2. 桌前准备参考书
《
ACE Programmer's Guide》
1. 制作一个简单的
hello_ACE.cpp
hello_ACE.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 "))); foo(); ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight "))); return 0; } void foo (void) { ACE_TRACE (ACE_TEXT ("foo")); ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IThis is ACE "))); }
2. 制作
Makefile
文件头加入
ACE_ROOT= /tmp/ACE_wrappers
静态库需要加入
$(ACE_ROOT)/build/ace/.libs/libACE.a
动态库需要加入
-lpthread -lrt -ldl
因为没有
make install
所以
Makefile 中要加入
-L$(ACE_ROOT)/build/ace/.libs/
############################################################################### # kk makefile # CopyRight (R) tencent.com ############################################################################### ACE_ROOT= /tmp/ACE_wrappers ROOT = .. CC = g++ AR = ar cru LINKER = $(CC) RM = /bin/rm -f USRDIR = /usr COMMON = $(ROOT)/libsrc INCLUDE = -I. -I./ -I./include -I$(ROOT) -I$(COMMON) -I$(USRDIR)/include -I$(ACE_ROOT) -I$(ACE_ROOT)/build LIBS = -L. -L./ -L./bin -L$(USRDIR)/lib -L$(ACE_ROOT)/build/ace/.libs/ LIBFILE = -lz -lpthread -lrt -ldl LIBSTATIC = $(ACE_ROOT)/build/ace/.libs/libACE.a CFLAGS = -Wall -ggdb -I $(INCLUDE) -L $(LIBS) SRCPROC = SRCC = SRCCPP = OBJS = $(SRCC:.c=.o) $(SRCCPP:.cpp=.o) $(SRCPROC:.pc=.o) OBJS_SO = $(SRCC:.c=.oso) $(SRCCPP:.cpp=.oso) $(SRCPROC:.pc=.oso) .SUFFIXES: .a .o .cpp .cpp.o: @echo " " @echo "C++ ..." $(CC) -c $(CFLAGS) $*.cpp -o $@ TARGET = $(patsubst %.cpp,%,$(patsubst $(SRCCPP), , $(wildcard *.cpp) )) $(patsubst %.cpp,%,$(wildcard test/*.cpp)) all:$(TARGET) $(TARGET):%:$(OBJS) %.o @echo $(TARGET) $(CC) -o $@ $^ $(CFLAGS) $(LIBFILE) $(LIBSTATIC) .PHONY:clean clean: @$(RM) -f $(SRCPROC:.pc=.o) $(SRCPROC:.pc=.c) @$(RM) -f $(SRCC:.c=.o) $(SRCC:.c=.oso) $(SRCCPP:.cpp=.o) $(SRCCPP:.cpp=.oso) @$(RM) -f *.lis @$(RM) -f $(TARGET) $(TARGET:=.o)
3. 编译测试
编译
Make hello_ace
相关文章推荐
- [分享]新手上路学习配置C,C++,GTK等开发环境
- 【iOS开发新手上路】教你一步一步创建一个功能齐全的UITableViewController(上)
- 新手上路(一):基于android平台的投票应用的开发(三)之问题整理
- 3dsmax插件开发新手上路
- 3dsmax插件开发新手上路
- 新手上路-Windows下Java开发环境的设置(JDK)
- 新手上路(一):基于android平台的投票应用的开发(三)之问题整理
- 【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据
- 新手上路(一):基于android平台的投票应用的开发
- 新手上路(一):基于android平台的投票应用的开发(二)
- 使用GAE(Google App Engine)一步一步开发自己的博客[1]:新手上路
- 【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据
- [转]新手上路Ubuntu下配置C/C++/GTK等开发环境
- OpenRS插件开发新手上路
- odps新手上路之安装Eclipse开发环境
- Android应用开发Camera系列(一):SurfaceView实现相机预览demo--新手上路
- 玩转Node.js-1. 新手上路之CentOS 下安装Node.js开发环境
- ACE学习笔记--新手上路(原创)
- 新手上路学习配置C,C++,GTK等开发环境
- 新手上路(一):基于android平台的投票应用的开发(三)之问题整理