我得到了Code :: Blocks,我在Windows上从源代码构建了OpenSLL。我包括头文件(openssl \ include)和lib文件(openssl \ lib \ libcrypto.lib,openssl \ lib \ libssl.lib)。但是当我构建应用程序时,它会收到一条错误,指出对MD5的未识别引用(第5行:MD5((unsigned char*)string, strlen(string), (unsigned char*)&digest);
)。为什么会发生这种情况?我该如何解决?
代码:
string DoMD5(string s){
unsigned char digest[MD5_DIGEST_LENGTH];
char const *string = s.c_str();
MD5((unsigned char*)string, strlen(string), (unsigned char*)&digest);
char mdString[33];
for(int i = 0; i < 16; i++)
sprintf(&mdString[i*2], "%02x", (unsigned int)digest[i]);
// printf("i: %s o: %s\n", string,mdString);
return mdString;
}
我在2017年11月2日使用OpenSSL 1.1.0g 我使用Code :: Blocks作为IDE。