现象
软件较大,开发人员有很多,我这边需要调用他人的接口,来获取一些资源数据,
我调用的是类A的func_a接口,结果发现func_a接口一直返回错误,查了半天没有找到原因,老版本的代码一直是这样使用的,没有任何问题,但是新版本却忽然不行了,
原因
为了统一性,把A同级的类全部封在了一个头文件里面,即类A的外层又封了一层(Controll头文件),但是名称还是A,然后我包含Controll的lib,和A的lib,这时候就出现冲突了,编译器认为我使用的是A的头文件,正常我应该是使用Controll头文件的,这样获取到的指针就是错误的内容,但是不知道为啥没有崩溃,
解决方式
去掉所有不相关的编译库,只依赖自己需要的,这样会减少很多不必要的调试时间,有版本更新就把之前的依赖库全部删掉,然后加新的,不然残留的库有时候会出现一些莫名其妙的问题,