【发布时间】:2015-08-12 07:05:10
【问题描述】:
所以,我正在使用 GNUTLS,它有这个枚举:
typedef enum {
GNUTLS_PK_UNKNOWN = 0,
GNUTLS_PK_RSA = 1,
GNUTLS_PK_DSA = 2,
GNUTLS_PK_DH = 3,
GNUTLS_PK_EC = 4
} gnutls_pk_algorithm_t;
位于它的主头文件中(gnutls.h,版本 3.3.17)。我在这里引用它:
unsigned int bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, GNUTLS_SEC_PARAM_LEGACY);
(就在示例中)。我确实有#include <gnutls/gnutls.h>,而且这一切似乎都很好(其他枚举很好,除了GNUTLS_X509_FMT_PEM)。我读到了一些关于编译器没有看到 gnutls.h 的内容,它位于 /usr/local/include 而不是 /usr/include,但是我在 Eclipse 的 Includes 方面确实有它。如果它是编译器找不到它,为什么它会找到一些值,我如何让它找到它?如果不是,那是什么问题?
【问题讨论】:
-
@avaProphet 我在您显示的枚举中没有看到该枚举器 GNUTLS_X509_FMT_PEM 的定义。
-
@VladfromMoscow 它在另一个枚举中,我应该添加它吗?
-
@avaProphet 如果枚举是在同一个头文件中定义的,那么编译器应该会看到它们。
-
@VladfromMoscow 我手动进行了 GCC,但没有输出问题。我快速搜索了一下,发现stackoverflow.com/questions/11866873/… 解决了这个问题。随意将其发布为解决方案。
标签: c++ c eclipse enums gnutls