0

我有一个头文件,我们header1.h用函数的定义来调用它,比如说myFunc()在里面。我的 C++ 项目有一个源文件,我们称之为main.cpp头文件main.h。我已经包含header1.h在了main.h,然后又包含main.h在了main.cpp

main.cpp我有一个类构造函数让我们调用它MyClass,我有这个代码:

MyClass:MyClass(...)
.
.
{
  .
  .
  f = myFunc(...);
  .
}

当我编译代码时,我得到这个错误:

error LNK2019: unresolved external symbol _myFunc referenced in function  

这个错误的原因是什么?

4

3 回答 3

1

那是一个链接器错误。包含定义的文件myFunc没有被编译,或者您没有链接到导出它的库。

于 2012-08-23T05:57:37.280 回答
1

你有实现myFunc吗?您是否只在标题中声明而没有定义它? myFunc()

您可以通过定义函数来解决此问题。

void myFunc(); // Declaration
void myFunc() {} // Definition

导致此错误的原因是符号没有myFunc定义因此链接器无法解析

于 2012-08-23T05:57:44.810 回答
1

您可能会错过向myFunc链接器提供库/目标文件。

于 2012-08-23T06:00:12.517 回答