title: C Enum reference undefined, yet sitting in a included header file?
body: <p>So, I'm playing with GNUTLS, and it has this enum: </p>
  
  <pre><code>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;
  </code></pre>
  
  <p>sitting in it's main header file(gnutls.h, version 3.3.17). I reference it here: </p>
  
  <pre><code>    unsigned int bits = gnutls_sec_param_to_pk_bits(GNUTLS_PK_DH, GNUTLS_SEC_PARAM_LEGACY);
  </code></pre>
  
  <p>(right out of the example). I do have the <code>#include &lt;gnutls/gnutls.h&gt;</code>, and that all seems to reference fine(other enums are fine, except for <code>GNUTLS_X509_FMT_PEM</code>). I read something about the compiler not seeing gnutls.h, and it is in <code>/usr/local/include</code> and not <code>/usr/include</code>, however I do have that in the Includes side thing in Eclipse. If it is a compiler-not-finding-it, why is it finding some values, and how do I make it find it? If not, what is the issue?</p>