从http://activemq.apache.org/cms/download.html下载最新版本的activemq-cpp,解压后,阅读README.txt文档,根据提示,下载依赖库:
- APR:http://apr.apache.org/
- CPPUnit:http://cppunit.sourceforge.net/cppunit-wiki/BuildingCppUnit1
- OpenSSL及其他:根据需要可选择不下载,但以上两个一定需要
由于C++客户端的开发需要依赖以上库,所以,在编译C++客户端程序时,首先需要编译这些依赖库。
1.apr
下载后解压进入目录,三部曲:
./configure –prefix=/usr/local/apr/
make
make install
2.apr-util
下载后解压进入目录,三部曲:
./configure –prefix=/usr/local/aprutil –with-apr=/usr/local/apr/
make
make install
3.apr-iconv
下载后解压进入目录,三部曲:
./configure –prefix=/usr/local/apr-iconv/ –with-apr=/usr/local/apr/
make
make install
4.cppunit
下载后解压进入目录,三部曲:
./configure –prefix=/usr/local/cppunit/
make
make install(install 需要root权限)
执行完后在/usr/local/cppunit/目录下可以看到头文件和库文件
5.ActiveMQ-CPP
解压编译:
./configure –prefix=/usr/local/ActiveMQ-CPP –with-apr=/usr/local/apr/ –with-apr-util=/usr/local/aprutil –with-cppunit=/usr/local/cppunit
make
make install
至此编译工作完成,在/usr/local目录下生成了5个目录,分别为ActiveMQ-CPP、apr、apr-iconv、aprutil、cppunit。
编写一段producer的代码SimpleProducer.cpp
编写一个Makefile文件进行编译:
SRCS = $(wildcard *.cpp)
OBJS = $(SRCS:.cpp = .o)
CC = g++
INCLUDES = -I/usr/local/ActiveMQ-CPP/include/activemq-cpp-3.9.3 -I/usr/local/apr/include/apr-1
LIBS = -L/usr/local/ActiveMQ-CPP/lib
LINKS = -lactivemq-cpp
CCFLAGS = -g -Wall -o0
TARGET = SimpleProducer
$(TARGET):$(OBJS)
$(CC) $^ -o $@ $(INCLUDES) $(LIBS) $(LINKS)
%.o : %.c
$(CC) -c $^ $(CCFLAGS)
clean:
rm $(TARGET)
.PHONY:clean
方便以后每次进行编译