LoginSignup
1
2

More than 3 years have passed since last update.

Windowsでprotobufのダウンロード、コンパイル(メモ)

Posted at

Protocolfとは

ProtocolfはProtocol Buffersの略です。

Protocolfのデザインの目的はシンプルさとパフォーマンスです。Protobufは実際にJsonまたはXMLのようなデータ伝送フォーマットと仕様です。異なるアプリケーションやプロセス間の通信に使用されいます。
  • 十分な簡単です
  • プログレッシブ化後の体積は小さいです。メッセージサイズはXMLの1/10~1/3だけ必要です。

  • 解析速度が速い:解析速度はXMLより20~100倍速いです。

  • マルチ言語サポート

protobufのインストール

二つ方法があります。

方法一:

直接protoc-3.13.0-win64.zipをウンロードする。

protobufソースコードをダウンロードし、github からprotoc-3.13.0-win64.zipをダウンロードしてください。

image.png
僕がダウンロードしたのは『protoc-3.13.0-win64.zip』です。
そして、『D:\ProgramData\』に解凍します。
image.png


方法二:

コマンドでコンパイルをします。

準備:

1. 使っているパソコンはwin10で、すでにVS 2019とcmake 3.17.2をインストールしています。

2. protobufソースコードをダウンロードし、github から直接ZIPパケットをダウンロードしてください。
image.png
いろいろなバージョンがあって、自分に合うバージョンをダウンロードしてください。
僕がダウンロードしたのは『protobuf-all-3.13.0.zip』です。
そして、『D:\ProgramData\』に解凍します。

コンパイル:

これは64ビットのdebugバージョンをコンパイルした例です。
releaseバージョンであれば、各コマンドのdebugパスをreleaseパスに変更して、コマンド5の中の

「-DCMAKE_BUILD_TYPE=Debug」に「-DCMAKE_BUILD_TYPE=Release」変更します。

「Visual Studio 2019-Visual Studio Tools」を選択し、「x 64 Native Tools Command Propt for VS 2019」をダブルクリックします。

コマンド1から7までを順番に入力してください。
コマンド1-4

d:
cd ProgramData\protobuf-3.13.0\cmake 
mkdir build & cd build
mkdir x64 & cd x64
mkdir debug & cd debug

image.png

この時、protobuf-3.13.0/cmake/build/x64/debugに位置していますが、ここで作成したdebugフォルダは関連するcmake fileの設定情報を保存するためだけに使用されています。特別な意味はありません。

コマンド5

cmake -G “NMake Makefiles” -DCMAKE_BUILD_TYPE=Debug -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../../../install/x64/debug ../../../

image.png
cmake file関連のプロファイルを生成します。

コマンド6

nmake

protobufのコンパイルが完了まで待っていて、僕の場合は6分ぐらいかかります。

image.png

コマンド7

nmake install

image.png
完成したらprotobuf-3.3.2\install\x64\debugディレクトリの下でbin、include、lib、cmakeの四つのフォルダを生成します。
image.png


:v_tone4:ここまで、protobufのインストールを完成されました。

環境変数の設定

binフォルダのパスを環境変数に追加します。

image.png

バージョンの表示

バージョンを表示します。
protoc --version

image.png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2