
Nanopb は、ANSI C で実装されたコードサイズの小さい Protocol Buffers 実装です。マイクロコントローラでの使用に特に適していますが、メモリに制約のあるあらゆるシステムに適合します。
nanopb ライブラリを使用するには、次の 2 つのことを行う必要があります。
最も簡単な始め方は、"examples/simple" のプロジェクトを調べることです。 そこには Makefile があり、ほとんどの Linux システムでそのまま動作するはずです。 ただし、その他のビルドシステムについては、そのフォルダの README.txt にある手動の手順を参照してください。
nanopb ジェネレータは、Google 自身の protoc コンパイラのプラグインとして実装されています。これには、.proto ファイルの基本的な解析を再実装する必要がないという利点があります。ただし、ジェネレータを実行するには Google の protobuf ライブラリが必要であることを意味します。
nanopb のバイナリパッケージ(Windows、Linux、Mac OS X 版のいずれか)をダウンロードした場合は、'protoc' バイナリが 'generator-bin' フォルダに含まれています。この場合、すぐに使用できます。次のコマンドを実行するだけです。
generator-bin/protoc --nanopb_out=. myprotocol.proto
ただし、git チェックアウトまたは素のソース配布物を使用している場合は、独自の protoc と Google の protobuf ライブラリを用意する必要があります。Linux では、必要なパッケージは protobuf-compiler と python-protobuf です。Windows では、Google の protobuf ライブラリをソースからビルドするか、そのバイナリ配布物のいずれかを使用できます。どちらの場合も、別の protoc を使用する場合は、nanopb ジェネレータへのパスを手動で指定する必要があります。
protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...
nanopb コアのさらなる開発を行いたい場合、または独自のコンパイラとプラットフォームでその機能を検証したい場合は、テストスイートを実行するとよいでしょう。テストスイートのビルドルールは Scons を使用して実装されているため、Scons をインストールしておく必要があります。テストを実行するには:
cd tests
scons
これにより、さまざまなテストケースの進行状況が表示されます。出力がエラーで終了しなければ、テストケースは成功です。
注: Mac OS X はデフォルトで 'clang' を 'gcc' としてエイリアスしていますが、実際には gcc と同じコマンドラインオプションをサポートしていません。Mac OS X でテストを実行するには、"scons CC=clang CXX=clang" を使用してください。同様の方法で、任意のプラットフォームで異なるコンパイラを使用してテストを実行できます。