关于在c++ builder中定义的类的编译时的问题
各位大虾,我是新手,请帮助,不胜感激!!(不好意思,我只有100分)
我在c++ builder中定义了一个类,名字为TMD5,其中有一全局方法:MDString
我在一个LogonForm 中的一个Botton 的ButtonOKClick事件中编写如下代码:
TMD5 &md5 = * new TMD5();
unsigned char * pwd;
unsigned char * input;
pwd = new char[16];
input=(EditUser->Text+MaskEditPWD->Text).c_str();
md5.MDString(input,pwd);
编译时报如下错误:[Linker Error] Unresolved external 'TMD5::MDString(const unsigned char *, unsigned char *)' referenced from C:\LSS\LOGONWIN.OBJ
如何解决?
我的类定义代码:
/******************************************************************************
* MD5.H - header file
******************************************************************************
*/
#ifndef _MD5_H
#define _MD5_H
//------------------------------------------------------------------------
#include "global.h"
......
#endif
//------------------------------------------------------------------------
//MD5.cpp - Class file
#include "md5.h"
#include "global.h"
#include <mem.h>
.....
void TMD5::MDString(const unsigned char *InputString, unsigned char szOutput[16])
{
unsigned int inputLen = StrCharLength(InputString);
Init(&context);
Update(&context, szInput, inputLen);
Final(szOutput, &context);
}
void TMD5::MDFile(const unsigned char *InputFileName, unsigned char szOutput[16])
{
unsigned int inputLen;
int iFileName;
unsigned char buffer[1024];
iFileName = FileOpen(InputFileName,fmOpenRead);
if(iFileName==-1)
ShowMessage("不能打开文件!");
else
{
Init(&context);
while(len=FileRead(InputFileName,buffer,1024))
Update(&context, buffer, len)
Final(szOutput, &context);
Fclose(iFileName);
}
}