2012-03-20 16 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]); 
    } 
} 

pojawia się błąd: undefined, odniesienie do MD5niezdefiniowana odniesienia do md5

Czy ktoś może mi pomóc?

+0

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

+0

nie jest "unsigned char * res;" powoduje przepełnienie bufora? – Nick

Odpowiedz

9

Musisz połączyć się z pasującą biblioteką. Powinieneś mieć plik o nazwie md5.lib lub md5.a lub coś podobnego (w zależności od systemu operacyjnego) i dodać go do wiersza poleceń linera (ponownie, w zależności od środowiska).

+8

W gcc, jest to '-lssl -lcrypto'. – csl

+0

dzięki! to działa! Ale czy wiesz, jak ustawić opcje łącza w Eclipse? – Bewn

+0

Nie używam zaćmienia, ale wyobrażam sobie, że powinieneś go znaleźć gdzieś w linkerze w obszarze roboczym (lub coś w tym stylu). – Asaf

Powiązane problemy