1. 程式人生 > >[C/C++] CentOS 7 搭建evpp環境(安裝libevent,glog,gtest,gflags,boost,thrift)

[C/C++] CentOS 7 搭建evpp環境(安裝libevent,glog,gtest,gflags,boost,thrift)

安裝evpp依賴庫和工具

evpp依賴庫:

  1. libevent
  2. glog
  3. gtest (optional)
  4. boost (optional)
  5. gflags (optional)
  6. thrift (optional)
  7. libthrift (optional)

編譯依賴工具:

  1. gcc (GCC) 4.8+
  2. GNU Make
  3. git
  4. CMake

建立新使用者

  • 建立使用者名稱:alex
adduser alex
# 修改密碼
passwd alex
# 輸入新密碼
123456
# 重新輸入新密碼
123456
  • sudo授權
    切換root許可權

第一步:修改sudoers配置檔案為可讀寫許可權

chmod -v u+w /etc/sudoers

第二步:開啟配置檔案

vim /etc/sudoers

第三步:新增alex使用者到配置檔案

## Allow root to run any commands anywher  
root    ALL=(ALL)       ALL  
alex  ALL=(ALL)       ALL

第四步:去掉sudoers寫許可權

chmod -v u-w /etc/sudoers

第五步:切換回alex使用者

su alex

更新yum源

sudo yum update

檢視各種庫版本

檢視gcc版本

gcc --version
# gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
...

檢視make版本

make --version
# GNU Make 3.82
...

檢視cmake版本

cmake --version
# cmake version 3.3.2
...

檢視git版本

git --version
# git version 1.8.3.1

安裝cmake 3+

安裝預編譯環境

yum -y install gcc gcc-c++ kernel-devel

下載cmake安裝包

cd /home/alex/document
wget https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz

解除安裝原cmake環境

yum remove cmake -y

解壓cmake二進位制包

tar -zxvf cmake-3.10.2.tar.gz 

編譯安裝

./bootstrap --prefix=安裝目錄(預設為/usr/local)
gmake
sudo gmake install

新建軟連線

ln -s /usr/local/bin/cmake /usr/bin/

檢視版本

cmake --version
# cmake version 3.10.2
...

安裝libevent

下載 libevent-2.1.8-stable.tar.gz

wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz

解壓 libevent-2.1.8-stable.tar.gz

tar zxvf libevent-2.1.8-stable.tar.gz

編譯安裝

./configure
make
make verify   # (optional)
sudo make install

安裝libevent-devel

sudo yum -y install libevent-devel

配置ld.so.conf.d

cd /etc/ld.so.conf.d/
sudo vim libevent.conf
# 新增
/usr/local/lib

安裝glog

下載

git clone https://github.com/google/glog

配置

sudo apt-get install autoconf automake libtool

編譯&安裝

進入原始碼根目錄(glog資料夾) 
./autogen.sh 
./configure 
make -j 24 
sudo make install

安裝gflags

下載

git clone https://github.com/gflags/gflags

編譯&安裝

進入原始碼目錄(即gflags資料夾) 
cmake . 
make -j 24 
sudo make install

安裝gtest

下載

git clone https://github.com/abseil/googletest.git

編譯&安裝

進入原始碼目錄(即gflags資料夾) 
mkdir build && cd build
cmake ..
make
sudo make install

安裝boost

下載

wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz

解壓

tar zxvf boost_1_67_0.tar.gz

配置

yum -y install gcc-c++ python-devel bzip2-devel zlib-devel

編譯&安裝

cd boost_1_67_0
sudo ./bootstrap.sh
sudo ./b2 install

安裝boost.build

cd tools/build
sudo ./bootstrap.sh
sudo ./b2 install

更新ldconfig

sudo ldconfig

安裝 thrift

下載

wget http://mirrors.tuna.tsinghua.edu.cn/apache/thrift/0.11.0/thrift-0.11.0.tar.gz

編譯&安裝

tar zxvf thrift-0.11.0.tar.gz
cd thrift-0.11.0
./configure --with-boost=/usr/local  --without-java --without-php
sudo make
sudo make install

安裝evpp

下載

git clone https://github.com/Qihoo360/evpp
cd evpp
git submodule update --init --recursive

編譯&安裝

mkdir -p build && cd build
sudo cmake -DCMAKE_BUILD_TYPE=Debug ..
sudo make -j
sudo make test
sudo make install