为 Capn Pronto 和 Snappy 链接 C++ 库

Linking C++ libraries for Capn Pronto and Snappy

我正在尝试编译一个 c++ 项目,它需要 capn pronto 和 snappy。 我使用以下方法安装了这些:

brew install capnp
brew install snappy

但我想我现在需要 link 这些库,因为当我尝试编译我的项目时遇到以下错误:

./base/columnfile.h:8:10: fatal error: 'kj/debug.h' file not found

kj 是 Capn Pronto 中包含的库。我在制作时尝试使用命令 -lkj link 它,但这不起作用。

您引用的错误是compile-time错误,而不是link-time错误。编译器无法找到 KJ headers。要解决此问题,您需要将 -I 标志传递给编译器,指示在何处搜索 headers。通常,-I/usr/local/include 就是您所需要的,尽管这取决于 headers 的安装位置。或者,如果您安装了 pkg-config,Cap'n Proto 会向其注册,因此您可以执行 pkg-config --cflags capnp 来确定要传递的标志(以及 pgk-config --libs capnp 用于链接器标志)。