1. 程式人生 > >protobuf安裝中遇到的問題及解決方案

protobuf安裝中遇到的問題及解決方案

       首先來個 protobuf 簡介:

      Protocol Buffers 是一種輕便高效的結構化資料儲存格式,可以用於結構化資料序列化,很適合做資料儲存或 RPC 資料交換格式。它可用於通訊協議、資料儲存等領域的語言無關、平臺無關、可擴充套件的序列化結構資料格式。目前提供了 C++、Java、Python 三種語言的 API。

安裝步驟:

     1、下載 protobuf 並解壓;

     2、用終端切換到 protobuf 資料夾;

     3、執行./autogen.sh ;

由於 google被牆,而執行這個命令會下載 gtest-x.x.x,也就是 Fetching gtest-x.x.x,最終下載失敗;

解決方式:自己去網上下載 gtest-x.x.x.zip,並解壓到 protobuf資料夾,並重命名 gtest

同理 gmock-x.x.x,也有這個情況

  解決方式:自己去網上下載 gmock-x.x.x.zip,並解壓到 protobuf資料夾,並重命名 gmock

接著執行./autogen.sh 出現錯誤了

autogen.sh: line 8: autoreconf: command not found

              curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz
tar -xzvf m4-1.4.13.tar.gz


cd m4-1.4.13
./configure --prefix=/usr/local
make
sudo make install

cd ..

curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz
tar -xzvf autoconf-2.65.tar.gz
cd autoconf-2.65
./configure --prefix=/usr/local # ironic, isn't it?
make
sudo make install
cd ..
     
 

              這裡你最好重啟下終端,以確保autoconf在接下來的指令碼中生效

          curl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz
  tar xzvf automake-1.11.tar.gz
  cd automake-1.11
  ./configure --prefix=/usr/local
          make
  sudo make install
  cd ..
       curl -O http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz
  tar xzvf libtool-2.2.6b.tar.gz
  cd libtool-2.2.6b
  ./configure --prefix=/usr/local
  make
  sudo make install

4、./configure

      5、make 

      6、make check 

      7、make install