在VS中编译C++程序的时候经常遇到这个错误:LNK2001,即链接的错误,有时候遇到这种错误都无法下手。出现这个error的常见的原因。
1、原因1
在头文件中声明了相关的函数,但是在cpp具体的实现文件中没有对函数进行实际的定义所致。下面举个例子:
#include<iostream>
using namespace std;
//该函数没实际的定义
void output();
int main()
{
output();
return 1;
}
运行会报错:
修改后:
#include<iostream>
using namespace std;
void output();
int main()
{
output();
return 1;
}
// 给函数添加了具体的实现的文件
void output()
{
cout << "haha" << endl;
}
2、原因2
可能这个函数对应的lib文件没有被包含进来,这就需要找到这个xxx函数需要的lib文件,找到,再在工程的属性中添加进去。