opencv奇葩报错
有可能装了某些依赖,或者换了ceres等第三方库版本的时候,再运行自己的程序,就会出现opencv这样的错误;
解决办法:
方法一:
删除opencv的build,重新:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=/home/lanzy/opencv-3.4.12/opencv_contrib-3.4.12/modules -DBUILD_TESTS=OFF -DOPENCV_ENABLE_NONFREE=True …
make -j12
sudo make install
方法二:
如果还不行,那就把glog的build也删除了,重新:
mkdir build
cd build
cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON …
make -j12
sudo make install
然后再重复步骤一
方法三:
如果方法一和方法二都不行,那就把ceres换成2.0.0版本,然后重新编译ceres;
这个时候,把代码工作空间的build和devel删除,重新catkin_make;
因为ceres版本换了,catkin_make 的时候,就会报ceres的相关错误;
这个时候,把ceres重新换成1.14,然后在ceres1.14的目录下:
mkdir build
cd build
cmake …
make -j12
sudo make install
然后再删除代码工作空间的build和devel,就可以解决opencv这个问题了;
如果还是不行,那就重新删除opencv的build,重新编译opencv;