错误提示 [Linker Error] Unresolved external '__fastcall TForm1::FormDestroy(System::TObject *)' referenced from D:\C++ BUILDER\C++ B

lxz19880204 2008-05-10 10:59:25
在做一个能将程序最小到系统托盘的东东

编译通过,没有任何错误

但是在生成和运行时都有 [Linker Error] Unresolved external '__fastcall TForm1::FormDestroy

(System::TObject *)' referenced from D:\C++ BUILDER\C++ BUILDER\PROJECTS\系统托盘\MAIN.OBJ

的提示 - -

哪位大大能告诉是怎么回事么 谢谢了
...全文
1724 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cekong0303 2009-01-15
  • 打赏
  • 举报
回复
我把楼上各位的方法都尝试了,但是没有用啊!看看我的![Linker Error] Unresolved external 'TForm1::' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\NEW IMAGEBROWSER\IMAGEBROWSER_NEW.OBJ

大家多帮忙啊!我也是刚学C++Builder 不久!
singsing26 2008-05-12
  • 打赏
  • 举报
回复
还有一种情况.
BCB不支持运行程序文件路径有特殊符号,如你的"++"就是一个问题.
将你的工程移去没有特殊符号的路径.
singsing26 2008-05-12
  • 打赏
  • 举报
回复
是你在TForm1的类说明里声明了这个FormDestroy函数,但是代码CPP文件里没有这个函数的实现,而且是在form的对象属性里OnDestroy这个事件指向了这个FormDestroy函数.
有两个解决方法,要么在类说明里删除这个函数的说明,然后在form对象属性事件中删除这个指向
要么把FormDestory这个函数加回到CPP代码文件中.

楼主如果是误生成了一个函数,不要在代码CPP文件中删除,将这个函数体清空,然后按保存,那么BCB里会自己将没有代码(也包括没有注释)的函数消除.
i_love_pc 2008-05-11
  • 打赏
  • 举报
回复
检查FormDestroy函数。
  • 打赏
  • 举报
回复
声明了没实现?
jxw1987628 2008-05-11
  • 打赏
  • 举报
回复
/////////////////////////////////////////////////////////////
我测试了下 ,双击OnDestroy事件,然后把bcb产生的事件函数注释掉就出现楼主的错误

/*
void __fastcall TForm1::FormDestroy(TObject *Sender)
{

}
//---------------------------------------------------------------------------

*/


原因是:
你的头文件有 FormDestroy函数的声明

cpp里有没有他的实现啊,或者至少写一个空的实现

__fastcall TForm1::FormDestroy(System::TObject *Sender)

{

////ShowMessage("Form Destroy!");

}
我来看看CB 2008-05-11
  • 打赏
  • 举报
回复
FormDestroy函数你声明了,但是没有具体实现
lxz19880204 2008-05-10
  • 打赏
  • 举报
回复
按照楼上的方法做了 - -
问题依然,郁闷ing
jxw1987628 2008-05-10
  • 打赏
  • 举报
回复
把工程下的所有obj文件删除掉

重新build一遍,再运行试试

如果还不行,加入
#pragma link "Main.obj"
看看

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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