linux下 Error in 'python3':free(): invalid pointer
linux下坑人的报错!折腾了好久。 现象:这次是一个底层库 C++,底层库之上一层SDK C++,之上再一层so库,用python调用SDK。然后python层依赖了opencv和SDK,调换opencv和SDK的依赖顺序,opencv在前就报错。且莫名其妙毫无头脑。 之前好像也遇到过类似的问题(opencv动静态库版本冲突等等会遇到),每次都是莫名其妙的解决了,这次简直了。 解决: 1.网上很多人说,添加malloc的一个库,试了不行,加了继续报错,再查新错误,说换顺序。还有就是真的是free了错误的指针报错的。我的情况看起来都不是。 2.依赖库也很多,编译选项也很多。一个一个试了好久,最终发现一个编译选项-static-libstdc++,去掉就好使了。 分析:最终啥原因还不知道,但是加上-static-libstdc++在程序最简单最干净的时候是可以的,只要加上一句include<iostream>就又会报上面那个错误。不知道还是啥冲突了。 目前先这样解决吧。 来源: https://www.cnblogs.com/liumeng-blog/p/12213733.html