编译通过,没有任何错误
但是在生成和运行时都有 [Linker Error] Unresolved external '__fastcall TForm1::FormDestroy
(System::TObject *)' referenced from D:\C++ BUILDER\C++ BUILDER\PROJECTS\系统托盘\MAIN.OBJ
的提示 - -
哪位大大能告诉是怎么回事么 谢谢了
9 个解决方案
#1
把工程下的所有obj文件删除掉
重新build一遍,再运行试试
如果还不行,加入
重新build一遍,再运行试试
如果还不行,加入
#pragma link "Main.obj"看看
#2
按照楼上的方法做了 - -
问题依然,郁闷ing
问题依然,郁闷ing
#3
声明了没实现?
#4
检查FormDestroy函数。
#5
FormDestroy函数你声明了,但是没有具体实现
#6
/////////////////////////////////////////////////////////////
我测试了下 ,双击OnDestroy事件,然后把bcb产生的事件函数注释掉就出现楼主的错误
原因是:
你的头文件有 FormDestroy函数的声明
cpp里有没有他的实现啊,或者至少写一个空的实现
__fastcall TForm1::FormDestroy(System::TObject *Sender)
{
////ShowMessage("Form Destroy!");
}
我测试了下 ,双击OnDestroy事件,然后把bcb产生的事件函数注释掉就出现楼主的错误
/*
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
}
//---------------------------------------------------------------------------
*/
原因是:
你的头文件有 FormDestroy函数的声明
cpp里有没有他的实现啊,或者至少写一个空的实现
__fastcall TForm1::FormDestroy(System::TObject *Sender)
{
////ShowMessage("Form Destroy!");
}
#7
是你在TForm1的类说明里声明了这个FormDestroy函数,但是代码CPP文件里没有这个函数的实现,而且是在form的对象属性里OnDestroy这个事件指向了这个FormDestroy函数.
有两个解决方法,要么在类说明里删除这个函数的说明,然后在form对象属性事件中删除这个指向
要么把FormDestory这个函数加回到CPP代码文件中.
楼主如果是误生成了一个函数,不要在代码CPP文件中删除,将这个函数体清空,然后按保存,那么BCB里会自己将没有代码(也包括没有注释)的函数消除.
有两个解决方法,要么在类说明里删除这个函数的说明,然后在form对象属性事件中删除这个指向
要么把FormDestory这个函数加回到CPP代码文件中.
楼主如果是误生成了一个函数,不要在代码CPP文件中删除,将这个函数体清空,然后按保存,那么BCB里会自己将没有代码(也包括没有注释)的函数消除.
#8
还有一种情况.
BCB不支持运行程序文件路径有特殊符号,如你的"++"就是一个问题.
将你的工程移去没有特殊符号的路径.
BCB不支持运行程序文件路径有特殊符号,如你的"++"就是一个问题.
将你的工程移去没有特殊符号的路径.
#9
我把楼上各位的方法都尝试了,但是没有用啊!看看我的![Linker Error] Unresolved external 'TForm1::' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\NEW IMAGEBROWSER\IMAGEBROWSER_NEW.OBJ
大家多帮忙啊!我也是刚学C++Builder 不久!
大家多帮忙啊!我也是刚学C++Builder 不久!
#1
把工程下的所有obj文件删除掉
重新build一遍,再运行试试
如果还不行,加入
重新build一遍,再运行试试
如果还不行,加入
#pragma link "Main.obj"看看
#2
按照楼上的方法做了 - -
问题依然,郁闷ing
问题依然,郁闷ing
#3
声明了没实现?
#4
检查FormDestroy函数。
#5
FormDestroy函数你声明了,但是没有具体实现
#6
/////////////////////////////////////////////////////////////
我测试了下 ,双击OnDestroy事件,然后把bcb产生的事件函数注释掉就出现楼主的错误
原因是:
你的头文件有 FormDestroy函数的声明
cpp里有没有他的实现啊,或者至少写一个空的实现
__fastcall TForm1::FormDestroy(System::TObject *Sender)
{
////ShowMessage("Form Destroy!");
}
我测试了下 ,双击OnDestroy事件,然后把bcb产生的事件函数注释掉就出现楼主的错误
/*
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
}
//---------------------------------------------------------------------------
*/
原因是:
你的头文件有 FormDestroy函数的声明
cpp里有没有他的实现啊,或者至少写一个空的实现
__fastcall TForm1::FormDestroy(System::TObject *Sender)
{
////ShowMessage("Form Destroy!");
}
#7
是你在TForm1的类说明里声明了这个FormDestroy函数,但是代码CPP文件里没有这个函数的实现,而且是在form的对象属性里OnDestroy这个事件指向了这个FormDestroy函数.
有两个解决方法,要么在类说明里删除这个函数的说明,然后在form对象属性事件中删除这个指向
要么把FormDestory这个函数加回到CPP代码文件中.
楼主如果是误生成了一个函数,不要在代码CPP文件中删除,将这个函数体清空,然后按保存,那么BCB里会自己将没有代码(也包括没有注释)的函数消除.
有两个解决方法,要么在类说明里删除这个函数的说明,然后在form对象属性事件中删除这个指向
要么把FormDestory这个函数加回到CPP代码文件中.
楼主如果是误生成了一个函数,不要在代码CPP文件中删除,将这个函数体清空,然后按保存,那么BCB里会自己将没有代码(也包括没有注释)的函数消除.
#8
还有一种情况.
BCB不支持运行程序文件路径有特殊符号,如你的"++"就是一个问题.
将你的工程移去没有特殊符号的路径.
BCB不支持运行程序文件路径有特殊符号,如你的"++"就是一个问题.
将你的工程移去没有特殊符号的路径.
#9
我把楼上各位的方法都尝试了,但是没有用啊!看看我的![Linker Error] Unresolved external 'TForm1::' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\NEW IMAGEBROWSER\IMAGEBROWSER_NEW.OBJ
大家多帮忙啊!我也是刚学C++Builder 不久!
大家多帮忙啊!我也是刚学C++Builder 不久!