error LNK2019: unresolved external symbol "void __cdecl MD5(char const *,int,char *)" (?MD5@@YAXPBDHPAD@Z) referenced in function
linux下编译好好的,vs2008上面就出现上面的问题;
参考网上的一些资料,总结可能的原因如下:
1:有声明,但没有定义;
2:有定义,但没有声明(在cpp文件中定义了,在.h中没有声明);
3:有定义,有声明:调用的地方没有包含头文件
4:有定义,有声明:调用的地方也有包含头文件,但定义,声明函数参数不一致:如下:
定义:
void MD5( char *pass, int len, char *md5ed)
{
........
}
声明:
void MD5(const char *pass, int len, char *md5ed);
本人就属于第4种情况,目测少个const,应该不是问题, 玩死人啊!