2012-03-20 20 views
5
#include <openssl/md5.h> 
void mMD5(unsigned char * packet, int size) { 

    unsigned char* res; 

    MD5((unsigned char*)&packet, size, (unsigned char*)&res); 

    for(int i=0; i<MD5_DIGEST_LENGTH; i++) { 
     printf("%02x", res[i]); 
    } 
} 

me sale el error: referencia indefinida a MD5referencia indefinida a MD5

¿Puede alguien ayudarme?

+0

Respondido en http://stackoverflow.com/questions/1894013/how-to-use-openssl-in-gcc – csl

+0

no "unsigned char * res;" hace desbordamiento de búfer? – Nick

Respuesta

9

Debe crear un enlace a la biblioteca correspondiente. Debería tener un archivo llamado md5.lib o md5.a o algo así (según su sistema operativo), y agregarlo a su línea de comando del vinculador (nuevamente, dependiendo de su entorno).

+8

En gcc, es '-lssl -lcrypto'. – csl

+0

gracias! ¡No es así! Pero, ¿sabes cómo configurar las opciones de enlace en eclipse? – Bewn

+0

Realmente no uso eclipse, pero imagino que debería encontrarlo en alguna parte de las opciones del enlazador del espacio de trabajo (o algo así). – Asaf