关于error LNK2019 无法解析的外部符号

来源:互联网 发布:java就业前景平均工资 编辑:程序博客网 时间:2024/05/07 04:06

在使用VS2008+Qt写一个程序时,运行报错:errorLINK2019 无法解析的外部符号。
图1 编译器报错信息
这是一个链接错误,意思就是编译器不认识这个符号(错误信息中显示的函数名)。为什么不认识呢?两种可能,一种是你只是给编译器提供了函数名,但是没有实现这个函数,编译器自然就不会认识了,只能说见过,但是不认识;第二种情况就是你压根就没有这个包含函数实现的文件。实际上两种情况本质是一个,那就是没找到函数的实现。具体情况如下:
1.可能是在类的头文件中声明的某个函数,并未在类中实现,即在h文件中声明了,没在cpp文件里写该函数的实现代码。这种情况根据编译器的报错信息中显示的函数名,对该函数实现就可以了。
2.包含错误信息中显示的函数的文件没有在工程中加载,这个问题有时候比较难发现,如果第一种情况可以排除,那么就要考虑这种情况了。
根据错误中显示的函数名,找到该函数实现的文件,然后加载进来.
本例就是因为QGUI生产的文件moc_qshowlabel.cpp被我不小心删掉了,所以编译器报了错,害我找了半天。将该文件加载进来后,问题解决!

0 0
原创粉丝点击