我是Cap'n Proto的新手,我正在尝试编译这里的计算器示例:
https://github.com/capnproto/capnproto/blob/master/c%2B%2B/samples/calculator.capnp
我使用这个命令capnp compile -oc++ calculator.capnp
生成calculator.capnp.c++
和calculator.capnp.h
文件。
我试图使用以下命令编译calculator.capnp.c++
文件:g++ -o calc calculator.capnp.c++ -lcapnp -lkj -lcapnp-rpc -lkj-async
,但收到此错误消息:
/usr/bin/ld:/usr/lib/gcc/x86-linux-gnu/8/../../../x86-linux-gnu/Scrt1.o:在函数“_start”中:
(.text+0x20):未定义对“main”的引用
错误2:LD返回1退出状态
我查阅了官方文档和其他资源,但还没有找到如何运行这个示例(或类似的操作)的说明。我如何继续运行它?
最佳答案
您没有构建整个示例,只是生成的协议文件。
请注意,repo还具有calculator-server.c++
和calculator-client.c++
,这两个函数都包含main
entrypoint函数。选一个链接到你的程序中。
如果您使用已经提供的CMakeLists.txt,就可以了。