一、环境:
PC操作系统:CentOS Linux release 7.9.2009 (Core)
gcc 版本:4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
rocketmq-client-cpp版本:2.2.0
二、下载
网址:https://github.com/apache/rocketmq-client-cpp
提示:找release版本下载可能会更靠谱一些,然后如果编译不出静态库可能是什么库没装好,反正我折腾了挺久的。
三、环境准备安装
1、安装基本开发环境
这个在根目录下的README.MD文件就有说明了,而我一直没有搞出来应该是因为少了zlib-devel库。
### Linux and Mac OS
**note**: make sure the following compile tools or libraries have been installed before running the build script **build.sh**.
- compile tools:
- gcc-c++ 4.8.2: c++ compiler while need support C++11
- cmake 2.8.0: build jsoncpp require it
- automake 1.11.1: build libevent require it
- autoconf 2.65: build libevent require it
- libtool 2.2.6: build libevent require it
- libraries:
- bzip2-devel 1.0.6: boost depend it
- zlib-devel
我本机的依赖库版本:
gcc (GCC) : 4.8.5 20150623 (Red Hat 4.8.5-44)
g++ (GCC) : 4.8.5 20150623 (Red Hat 4.8.5-44)
cmake: 2.8.12.2
automake: 1.13.4
autoconf: 2.69
libtool: 2.4.2
bzip2: 1.0.6, 6-Sept-2010
zlib: 1.2.7
2、下载需要的库(虽然也可以自动下载,但是网络经常不太好)
手动打开根目录下的 build.sh ,搜索关键字 wget 可以找到要下载的库的链接
如果要使用自动下载的话在 wget 的末尾还要添加 --no-check-certificate
以下几个库的链接:
boost_1_58_0.tar.gz:http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz
jsoncpp-0.10.7.zip:https://github.com/open-source-parsers/jsoncpp/archive/0.10.7.zip
libevent-release-2.1.11-stable.zip:https://github.com/libevent/libevent/archive/release-2.1.11-stable.zip
openssl-1.1.1d.tar.gz:https://www.openssl.org/source/old/1.1.1/openssl-1.1.1d.tar.gz
googletest-release-1.8.1.tar.gz(不太需要):https://github.com/abseil/googletest/archive/release-1.8.1.tar.gz
存放的位置:就放在根目录下即可
四、开始编译
1、执行编译指令
在根目录下执行:sh build.sh
sh build.sh
2、编译结果检查
成功编译出 librocketmq.a 和 librocketmq.so。