Protocol Buffers


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


バージョン 2.3.0 利用手順

Mac環境 Java

ダウンロード

protobuf-2.3.0.tar.gz	 Protocol Buffers 2.3.0 full source -- C++, Java, Python   Featured
ダウンロードして解凍する

インストール セットアップ

プロトコルバッファのインストール
cd protobuf-2.3.0
./configure
make
make check
sudo make install
/usr/local/binにインストールされる

Javaライブラリのビルド
cd ./protobuf-2.3.0/java
mvn test
mvn install
mvn package
./protobuf-2.3.0/java/target/protobuf-java-2.3.0.jar に生成される


サンプルコードの実行

プロトコルバッファを使ってデータを格納するクラスを作成
cd examples
protoc --java_out=. addressbook.proto
./protobuf-2.3.0/examples/com/example/tutorial/AddressBookProtos.java に生成される

Eclipseのプロジェクトを作成して、生成したコードをインポートして、クラスパスに生成したjarを加える。
下記のmainが記述されているサンプルコードをインポートする。
./protobuf-2.3.0/examples/AddPerson.java
./protobuf-2.3.0/examples/ListPeople.java

これらのmainメソッドには引数が必要となっているので、書き直す。
public static void main(String[] args) throws Exception {
  args = new String[]{"addressbook"}; // 第一引数にファイル名を付け加える

AddPerson.java、ListPeople.javaをそれぞれ実行して試す。
これらはファイルの書き込み、読み取りのサンプルとなっている。
※AddPerson.javaは、コンソールで入力待になるので、適当に入力する。

Win環境 C++

ダウンロード

http://code.google.com/p/protobuf/downloads/list
protobuf-2.3.0.zip
protoc-2.3.0-win32.zip
解凍する
.\protoc.exe
.\protobuf-2.3.0\・・・


サンプルファイルを動かす

プロトコルバッファを使ってデータを格納するクラスを作成
.\protoc.exe --cpp_out=. .\protobuf-2.3.0\examples\addressbook.proto

.\protobuf-2.3.0\examples\addressbook.pb.cc
.\protobuf-2.3.0\examples\addressbook.pb.h
生成される

VisualStudioで
.\protobuf-2.3.0\vsprojects\protobuf.sln
を開く
ソリューション内に、libprotocbuf、libprotoc の2つのプロジェクトだけ残して削除する
libprotocbuf
libprotoc 

ソリューションに新規プロジェクトを作成する
win32コンソールアプリケーション
名前 sample
とする
sampleプロジェクトを右クリックして「プロジェクトの依存関係」より、
libprotocbuf
libprotoc 
2つのプロジェクトを追加する

サンプルコードのソースをsampleプロジェクトにインポートする
addressbook.pb.h
add_person.cc
addressbook.pb.cc
list_people.cc

sampleプロジェクトを右クリックしてプロパティから、「構成プロパティ」-「C/C++」-「全般」の
「追加のインクルードディレクトリ」にヘッダファイルのルートフォルダを追加
.\protobuf-2.3.0\src

コンパイルエラーを避けるため、サンプルコードのどちらかのmain文を変更しておく
add_person.cc
list_people.cc

ヘッダファイルのインクルードの修正する。

.ccファイルの先頭に
add_person.cc
addressbook.pb.cc
list_people.cc
インクルードの宣言を追加する
#include "stdafx.h" 
addressbook.pb.ccのaddressbook.pb.hのインクルードを、同じ階層を見るように修正する
#include "addressbook.pb.h"


sampleプロジェクトを右クリックしてプロパティから、「構成プロパティ」-「リン化ー」-「入力」の
「追加の依存ファイル」にLibファイルを追加
(絶対パスにする?)\protobuf-2.3.0\vsprojects\Release\libprotobuf.lib








ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。