我正在尝试编译一个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链接它,但这不起作用。
答案 0 :(得分:1)
您引用的错误是编译时错误,而不是链接时错误。编译器无法找到KJ标头。要解决此问题,您需要将-I
标志传递给编译器,指示搜索标头的位置。通常,-I/usr/local/include
是您所需要的,但它取决于标头的安装位置。或者,如果您安装了pkg-config
,Cap'n Proto会向其注册,以便您可以pkg-config --cflags capnp
确定要传递的标志(以及链接器标志的pgk-config --libs capnp
)。