我正在尝试编译一个 C++ 项目,它需要 capn pronto 和 snappy。 我已经安装了这些:
brew install capnp
brew install snappy
但我想我现在需要链接这些库,因为当我尝试编译我的项目时出现以下错误:
./base/columnfile.h:8:10: fatal error: 'kj/debug.h' file not found
kj 是 Capn Pronto 中包含的库。我尝试在制作时使用命令 -lkj 链接它,但这不起作用。
最佳答案
您引用的错误是编译时错误,而不是链接时错误。编译器无法找到 KJ header 。要解决此问题,您需要将 -I
标志传递给编译器,指示在何处搜索 header 。通常,-I/usr/local/include
是您所需要的,尽管它取决于 header 的安装位置。或者,如果您安装了 pkg-config
,Cap'n Proto 会注册它,这样您就可以执行 pkg-config --cflags capnp
来确定要传递的标志(以及pgk-config --libs capnp
用于链接器标志)。
关于c++ - 为 Capn Pronto 和 Snappy 链接 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33314530/