关于在c++ builder中定义的类的编译时的问题

tentcsz 2003-09-13 11:26:41
各位大虾,我是新手,请帮助,不胜感激!!(不好意思,我只有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);
}
}
...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tentcsz 2003-09-14
  • 打赏
  • 举报
回复
感谢kingcaiyao及楼上的两位兄弟。加入项目后问题问题解决了!太感谢三位了!
CCLIS 2003-09-13
  • 打赏
  • 举报
回复

TMD5 &md5 = * new TMD5();

这里出错,应该是一个指针来接收NEW生成的变量。
kingcaiyao 2003-09-13
  • 打赏
  • 举报
回复
这很明显,你的错误是链接错误,非编译错误,这证明的你程序的语法正确。你没有将TMD5.cpp加入到你的项目中,编译器在项目中找不到这个函数,自然会报这个错误。
kingcaiyao 2003-09-13
  • 打赏
  • 举报
回复
将TMD5.cpp加入到你的项目中
tentcsz 2003-09-13
  • 打赏
  • 举报
回复
还是不行啊。报同样的错误!
jiangchun_xn 2003-09-13
  • 打赏
  • 举报
回复
TMD5 *md5 =new TMD5();
tentcsz 2003-09-13
  • 打赏
  • 举报
回复
我很菜,应该怎么改?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧