为 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
用于链接器标志)。
我正在尝试编译一个 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
用于链接器标志)。