我有一个头文件,让我们用函数的定义称它为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
出现此错误的原因是什么?
答案 0 :(得分:1)
这是链接器错误。包含myFunc
定义的文件未编译,或者您没有链接到导出它的库。
答案 1 :(得分:1)
您是否有myFunc
的实施?您是否只在标题中声明了 myFunc()
并且没有定义它?
您可以通过定义您的功能来解决此问题。
void myFunc(); // Declaration
void myFunc() {} // Definition
导致此错误的原因是myFunc
的符号没有定义,因此链接器无法解析
答案 2 :(得分:1)
您可能错过了向您的链接器提供带有myFunc
的库/目标文件。