ld return 1 exit result的可能出错位置与解决方法

分享一下写代码的经验,在CODE:BLOCKS和QT中经常碰到问题,最大的问题莫过于ld return 1 exit result,这最让人头疼。因为它又不告诉你哪里错了,网上也很少有相同的案例,有时候要DEBUG好久才能找到,我就拿我有时候遇到的为例来讲一点儿,希望能帮上一点儿忙吧!

  1. 原因:如果你调用了已经声明但是没有定义(实现)的函数,会报错:ld return 1 exit result;
    解决方案:找出未实现的函数,实现即可;
    说明:这个比较坑,很容易陷在代码逻辑中,总是感觉自己代码没问题,但是想不到去检查自己调用的函数是否已经实现了(如果没有 声明的话,问题就简单多了),就很难解决。如果知道的话,就感觉是很脑残的问题。

  2. 原因:如果调用一个函数,使用的参数与其定义的数量不一致,那么会报错:ld return 1 exit result;
    解决方案:改变参数数量,使其一致;
    说明:这个也很难得发现,不是实现问题,而是调用问题,真的不会去在意。

  3. 原因:QT中opencv的库路径要写在.pro文件中,否则可能会报错(当要给一个指针实例化时):ld return 1 exit result;
    解决方案:给.pro文件加入:LIB+ opencv库路径(lib下的文件路径) ,再加上:INCLUDEPATH+opencv的include文件夹路径(三个文件夹都要添加) 即可
    说明:这个比较有针对性,QT+opencv,也不是代码问题,算是配置问题了,不易发现。

  4. 现在大概就发现这么多,可能有的忘记了,以后慢慢完善。

猜你喜欢

转载自blog.csdn.net/qq_18820125/article/details/88344067