Linuxはprotobuf3.6.1は、C ++コンパイラとインストール中にエラーが発生したインストールインストール

 

https://www.jianshu.com/p/83fde1089fea

1ソースのダウンロード

git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf/
git submodule update --init --recursive
./autogen.sh

2つの準備

次のツールを確実にインストールする前に、なくて自己インストールします。

autoconf
automake 
libtool   
make  
g++  
unzip

Ubuntuの/ Debianでは、あなたがそれらをインストールすることができます:

    $ 須藤はapt-getをインストールしたautoconf automakeにlibtoolをカールさせるG ++解凍

 

3インストールいるProtobuf

そして、少し長くインストールするには、次のコマンドを実行し、(自動化スクリプトを記述することができ、段階的に実行する必要がない)患者であります:

./configure 
make 
make check 
sudo make install 
sudo ldconfig  # refresh shared library cache.

この一般的で
は/ usr / local / libパスの下libprotobufライブラリ
一般protocでは/ usr / local /ビン・パス

4環境設定

以上の二つのファイル、私の実際の環境設定では、次のコマンド、特定のパスの特定の変化の経路に基づいて、次の環境設定、

$ sudo vim /etc/profile

加えます

export PATH=$PATH:/usr/local/bin/
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

保存の実行

source /etc/profile

5のconfigure動的ライブラリパス

sudo vim /etc/ld.so.conf

追加

/usr/local/protobuf/lib

そして、ルートなどの動的ライブラリパスを更新

 

ldconfig

 


./configure -prefix=/usr/local/


sudo make #要编译很久

sudo make check

sudo make install

 

 エラーケース1:

configure:エラー:無効な変数名: `-prefix」

正しい形式:接頭辞の前「 - 」に「 - 」

例如:./のconfigure --with-http_stub_status_module "--prefix =は/ usr / Webサービス/ nginxの" --with-PCRE = /ホーム/タング/下载/pcre-8.20 
 

 エラーケース2:

私がいたとき、須藤はミスを犯します

V2X @ Ubuntuの:〜/デスクトップ/いるProtobuf /いるProtobuf-3.6.1 $ sudoをメイク
するすべての再帰的な
メイク[1]:入力ディレクトリ'/home/v2x/Desktop/protoBuf/protobuf-3.6.1'
すべてに作ります。
メイク[2]:ディレクトリ'/home/v2x/Desktop/protoBuf/protobuf-3.6.1'に入る
メイクを[2]:ディレクトリ'/home/v2x/Desktop/protoBuf/protobuf-3.6.1'を残して
すべてのSRCで作ります
作る[2]:ディレクトリ'/home/v2x/Desktop/protoBuf/protobuf-3.6.1/src'入力
depbaseを= `エコー/いるProtobuf /スタブ/ bytestream.loグーグル| SEDさん| [^ /] * $ | .deps /&|; S | \ $ .LO || '、 `; \
../-libtool --tag = CXX --mode =コンパイルG ++ -DHAVE_CONFIG_H -I。-I .. -pthread -DHAVE_PTHREAD = 1 -DHAVE_ZLIB = 1 -Wall -Wno-SIGN-比較-O2 -g -std = C ++ 11 -DNDEBUG -MTグーグル/いるProtobuf /スタブ/ bytestream.lo -MD -MP -MF $ depbase.Tpo -c -oグーグル/いるProtobuf /スタブ/ bytestream.loグーグル/いるProtobuf /スタブ/ bytestream.cc && \
MV -f $ depbase.Tpo $ depbase.Plo
/ binに/ bashの:行1:。 ./-libtool:アクセス許可が拒否されました
3969::Makefileをターゲットのためのレシピの'Google /いるProtobuf /スタブ/ bytestream.lo'失敗
メイク[2]:*** [グーグル/いるProtobuf /スタブ/ bytestream.lo]エラー126
メイク[2 ]:ディレクトリ'/home/v2x/Desktop/protoBuf/protobuf-3.6.1/src'残す
1537:Makefileのターゲットのためのレシピを'すべての再帰的'失敗
メイク[1]:*** [すべての再帰]エラー1
メイク[1]:ディレクトリ'/home/v2x/Desktop/protoBuf/protobuf-3.6.1'のまま
'すべて'失敗したターゲットのためのレシピ:1444:Makefileを
 

問題:

pythonの使用いるProtobuf出错:protoc:エラーロードは共有ライブラリながら:libprotoc.so.9:共有オブジェクトファイルを開くことができません:そのようなの...

解決策:Linuxのタップコマンド:輸出LD_LIBRARY_PATH =は/ usr / local / libに
 

 

コンパイラアームいるProtobufライブラリのシステムLinuxのバージョン

https://blog.csdn.net/nicebooks/article/details/17962335

公開された101元の記事 ウォン称賛73 ビュー120 000 +

おすすめ

転載: blog.csdn.net/usstmiracle/article/details/103401948