「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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。