C++
刘晨希
这个作者很懒,什么都没留下…
展开
-
cmakelist中找不到opencv,Eigen(多版本opencv切换,cmakelist中路径正确却报找不到路径下的.hpp)
使用opencv1. 在cmakelist里面(1)当存在多版本opencv时,下面的写法会使用默认版本。find_package(OpenCV REQUIRED)(2)使用指定版本时:# set(OpenCV_DIR "/home/liuxiangyue/其它/opencv-3.4.3/build") #Liucx添加set(OpenCV_DIR "/opt/ro...原创 2020-03-20 17:15:17 · 1085 阅读 · 1 评论 -
从slambook到slambook2的环境中对应库(eigen,ceres,sophus)的版本变化
最近要跑高翔博士slambook2的ch13的代码,由于电脑上的环境是slambook第一版的环境,所以需要改动很多库的版本。1.升级Eigen (安装Sophus报错)首先是安装sophus编译报错,报了很多eigen库的错误,后来发现是二者版本不匹配的问题,slambook2里面的sophus需要eigen3.3以上的版本。好,那就升级eigen,先卸载掉老版本3.2.92, 安装...原创 2020-01-04 14:31:15 · 1711 阅读 · 8 评论 -
clion莫名其妙报错:(cmake_policy) Maximum recursion depth of 1000 exceeded.
1. 报错C++代码在命令行编译通过,在clion里面突然间通不过。或者说同一段代码之前在clion中运行的好好的,现在在clion中再运行就报错,报错例如:即使你没有使用googleTest,还是报相同的错误,不要慌,这是因为此时此刻的clion没有找到相关库(例如eigen, ceres, opencv等)的位置,这可能是因为你安装了其它库,导致cmake的版本不够了,例如:2...原创 2020-01-03 22:22:04 · 1159 阅读 · 0 评论 -
使用std::vector::erase()方法的正确格式(错误的格式会报“段错误”)
使用std::vector::erase()方法删除容器内元素的时候,一定要按照格式进行书写,不能自己进行简化。正确格式:for(vector<int>::iterator iter=veci.begin(); iter!=veci.end(); ){if( *iter == 3)iter = veci.erase(iter);...原创 2019-11-16 21:54:03 · 2497 阅读 · 0 评论