2019/05/20

[c/c++]protobuf-c (8)

「8?」と思われそうだが、7回目は1年以上前だ。

hiro99ma blog: [c/c++]protobuf-c (7)
https://hiro99ma.blogspot.com/2018/04/ccprotobuf-c-7.html


LMDBとの組み合わせで使えないか、調べようとしているのだ。
第7回で宿題があるようだが・・・もう忘れよう。


忘れようというか、まったく覚えていないのでインストールからやり直しだ。

以前はprotobufをソースからビルドしたようだが、もうprotobuf-cだけ動けばいいので、aptで済ませる。

sudo apt install libprotobuf-dev libprotoc-dev

GitHubからprotobuf-cをcloneして、autogen, configure, make。
手順を思い出しながら書いているので、何か抜けてるかもしれん。

ともかく、makeできたらsudo make installまでやる。
pluginとして使われるので、どこにインストールしたらいいのかわからんかったのだ。


1年経ったし、proto3でやろう。

examplesはaddressbook.proto

$ protoc --c_out=. addressbook.proto

これでc, hファイルができる。

mainは、以前作ったやつを使ってみよう。

$ gcc `pkg-config --cflags 'libprotobuf-c >= 1.0.0'` -o tst write.c addressbook.pb-c.c `pkg-config --libs 'libprotobuf-c >= 1.0.0'`

timestampのprotobuf-c版がいるようだが、それがないのでコンパイルエラーになってしまった。
めんどうなので、protoからtimestamp関係をコメントアウトしてprotocからやり直すと、通った。



しかし、実行しようとするとlibprotobuf-c.so.1がないとか言い始めた。。。
sudo ldconfigすると、実行できた。
やれやれ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。