分享一下写代码的经验,在CODE:BLOCKS和QT中经常碰到问题,最大的问题莫过于 ld return 1 exit result ,这最让人头疼。因为它又不告诉你哪里错了,网上也很少有相同的案例,有时候要DEBUG好久才能找到,我就拿我有时候遇到的为例来讲一点儿,希望能帮上一点儿忙吧!
1.调用未实现函数
原因:调用已经**声明**但是**没有实现**的函数
解决:找出未实现的函数,实现即可;
说明:这个比较坑,代码逻辑没问题,只是函数没有实现。
#include <iostream>
using namespace std;
void test();//声明函数
int main()
{
test();//使用函数
return 0;
}
/*void test()//实现函数,因此处注释掉,会报错
{
cout<<"test";
}*/
2. 输入参数与要求参数不一致
原因:调用函数,使用的**参数**与其需要的数量**不一致**。
解决:改变参数数量,使其一致;
说明:这个难以发现,不是实现问题,而是调用问题。(用CodeBlocks不会报ld return 1 exit result)
3.opencv库路径未写入.pro文件
原因: QT中opencv的库路径未写入**.pro文件中,实例化 opencv库的对象**时会报错。
解决:给.pro文件加入:LIB+ opencv库路径(lib下的文件路径)
INCLUDEPATH+ opencv的include文件夹路径(三个文件夹都要添加)
说明:这个比较有针对性,QT+opencv,也不是代码问题,算是配置问题了,不易发现。