Borland C ++ Builder 4 [链接器错误]未解析外部

时间:2015-08-20 12:37:31

标签: linker c++builder unresolved-external borland-c++

我试图在Borland C ++ Builder 4中编译一个旧项目。我有一个工作的exe和源文件,因此有人必须设法先编译它。但是,当我打开项目时,检查项目是否包含资源中的所有必要文件并尝试编译它,我不断收到以下链接器错误:

[链接器错误]未解析的外部' _fastcall TMapperForm :: Button1Click(System :: TObject *)'引自... \ Unit1.obj

我可以看到它找不到库中的对象但是我不知道如何解决它,因为与主cpp文件同名的obj文件与项目的其他文件在同一个文件中看起来很好。

我已经查看了这里提供的类似链接器错误的答案,但没有提出这些建议对我有用。我已经尝试了以下内容:

  • 将.obj文件添加到项目资源。
  • 尝试手动添加编译指示行,例如#pragma link (Unit1.obj)
  • 确保在项目>选项>目录中选择了正确的包含和库路径。
  • 检查是否已添加所有包。

这些似乎都不起作用。我是C ++和C ++ Builder的新手,所以我希望它是微不足道的。

有人看到过这个特殊的错误吗?

1 个答案:

答案 0 :(得分:0)

错误是由丢失的处理程序引起的,或者更准确地说是由于什么都没有包含。

虽然按钮的处理程序不包含任何内容,但TMapperForm类仍包含名为Button1的额外按钮的定义,但未使用该按钮。在TMapperForm类(在Unit1的头文件中)中注释掉方法和声明以及C ++文件中的处理程序解决了这个问题。