[英]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
更新:
正如@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.