繁体   English   中英

在 Mac OS X 上用 C 编译hiredis

[英]Compile hiredis in C on Mac OS X

我正在尝试在Mac OS X上使用C hiredis编译客户端。

我已经安装了hiredis

brew install hiredis

但仍然得到错误:

fatal error: 'hiredis.h' file not found

然而,我的hiredis.h在:

/usr/local/include/hiredis/hiredis.c

我如何告诉编译器这个?

我正在编译:

gcc test.c -o test

在您的问题中,您说hiredis.h/usr/local/include/hiredis/hiredis.c ,这没有任何意义。

假设您的意思是您的hiredis.h/usr/local/include/hiredis 你可以这样做:

gcc test.c -I/usr/local/include/hiredis -o test

在此SO 帖子中阅读有关-I 信息

更新:

正如@EricPostpischil 在评论中提到的,最好只包含以下内容:

#include < hiredis/hiredis.h>

我仍然不确定/usr/local/include是否在默认包含路径中。 如果是,那么不需要做任何事情,只需编译如下:

gcc test.c -o test

如果不是,

gcc test.c -I/usr/local/include -o test

如果您使用homebrew安装了hiredis ,您可以像这样看到包中的内容:

brew ls --verbose hiredis
/usr/local/Cellar/hiredis/0.14.0/INSTALL_RECEIPT.json
/usr/local/Cellar/hiredis/0.14.0/CHANGELOG.md
/usr/local/Cellar/hiredis/0.14.0/.brew/hiredis.rb
...
...
/usr/local/Cellar/hiredis/0.14.0/lib/libhiredis.dylib
/usr/local/Cellar/hiredis/0.14.0/lib/pkgconfig/hiredis.pc    <--- PKG-CONFIG
/usr/local/Cellar/hiredis/0.14.0/lib/libhiredis.a
/usr/local/Cellar/hiredis/0.14.0/lib/libhiredis.0.14.dylib
...
...

而且,如您所见,它为您提供了一个pkg-config文件,其中包含您需要的所有设置。 因此,您不妨安装pkg-config并正确执行!

brew install pkg-config

现在,如果您想知道hiredis的C 编译器标志,您可以:

pkg-config --cflags hiredis
-D_FILE_OFFSET_BITS=64 -I/usr/local/Cellar/hiredis/0.14.0/include/hiredis

如果您想知道链接器设置,您可以:

pkg-config --libs hiredis
-L/usr/local/Cellar/hiredis/0.14.0/lib -lhiredis

因此,您的 compile-link 命令变得非常简单,并且会在您更新包时自行更新:

gcc-9 $(pkg-config --cflags --libs hiredis) -o program program.c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM