title: Undefined reference to `encrypt' & undefined reference to `decrypt'
body: <p>I'm using the <strong>CodeBlocks IDE</strong> for testing the following know example of OpenSLL.</p>
  
  <pre><code>#include &lt;openssl/conf.h&gt;
  #include &lt;openssl/evp.h&gt;
  #include &lt;openssl/err.h&gt;
  
  
  #include &lt;string.h&gt;
  
  int main(int arc, char *argv[])
  {
    /* Set up the key and iv. Do I need to say to not hard code these in a
     * real application? :-)
     */
  
    /* A 256 bit key */
    unsigned char *key = "01234567890123456789012345678901";
  
    /* A 128 bit IV */
    unsigned char *iv = "01234567890123456";
  
    /* Message to be encrypted */
    unsigned char *plaintext =
      "The quick brown fox jumps over the lazy dog";
  
    /* Buffer for ciphertext. Ensure the buffer is long enough for the
     * ciphertext which may be longer than the plaintext, dependant on the
     * algorithm and mode
     */
    unsigned char ciphertext[128];
  
    /* Buffer for the decrypted text */
    unsigned char decryptedtext[128];
  
    int decryptedtext_len, ciphertext_len;
  
   /* Initialise the library */
    ERR_load_crypto_strings();
    OpenSSL_add_all_algorithms();
    OPENSSL_config(NULL);
  
    /* Encrypt the plaintext */
    ciphertext_len = encrypt(plaintext, strlen(plaintext), key, iv,ciphertext);
  
    /* Do something useful with the ciphertext here */
    printf("Ciphertext is:\n");
    BIO_dump_fp(stdout, ciphertext, ciphertext_len);
  
    /* Decrypt the ciphertext */
    decryptedtext_len = decrypt(ciphertext, ciphertext_len, key, iv,decryptedtext);
  
    /* Add a NULL terminator. We are expecting printable text */
    decryptedtext[decryptedtext_len] = '\0';
  
    /* Show the decrypted text */
    printf("Decrypted text is:\n");
    printf("%s\n", decryptedtext);
  
    /* Clean up */
    EVP_cleanup();
    ERR_free_strings();
  
    return 0;
  }
  </code></pre>
  
  <p>I have already compile and installed the latest Openssl libraries and linked to my project.  </p>
  
  <p><code>/usr/local/ssl/lib/libcrypto.a
      /usr/local/ssl/lib/libssl.a
      /lib/x86_64-linux-gnu/libdl-2.19.so</code></p>
  
  <p>However, when I compile my project I always receive the following errors: </p>
  
  <pre><code>||=== Build: Release in CryptoProject (compiler: GNU GCC Compiler) ===|
  obj/Release/main.o||In function `main':|
  main.c:(.text.startup+0x46)||undefined reference to `encrypt'|
  main.c:(.text.startup+0x81)||undefined reference to `decrypt'|
  ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
  </code></pre>
  
  <p>Am I missing some libraries to my project? Please Help! </p>