【发布时间】:2018-01-03 18:06:32
【问题描述】:
我有一个使用 libgcrypt 的 C 程序。 我把这个字符串放在构建器中来安装 Centos 7 的库:
yum -y install json-c-devel expat-devel libpcap-devel flex-devel automake libtool bison libuv-devel openssl-devel libgcrypt-devel
没有问题出来。
很遗憾,代码的编译因找不到宏导致的错误而终止:
错误:'GCRY_CIPHER_MODE_GCM' 未声明(在此函数中首次使用)
宏肯定在libgcrypt里面,所以我真的不明白怎么找不到。
如果我在 Debian 中编译相同的代码,它运行良好并且宏被正确解析。
P.S.我的系统是 Debian 8,我在 Centos 7 上使用 docker
【问题讨论】:
-
你的 Debian 上
libgcrypt的版本是什么? -
你的程序实际上
#include是gcrypt 的适当头文件吗?更一般地说,请编辑您的问题以提供一个 minimal reproducible example 来演示问题。 -
在 Debian、libgcrypt20 上,是的,我正确地包含了头文件
-
"宏在 libgcrypt 中":宏从不在库中定义,但总是在源文件中,在这种情况下通常在头文件中将开发包随库一起提供。
-
@alk 我想说,当然,我的意思是在头文件中。
标签: c linux makefile macros centos7