【视觉SLAM】ORBSLAM3 window下Debug编译遇到Expression: __acrt_first_block == header

window下编译ORBSLAM3

github:https://github.com/lydieusang/orbslam3-windows

配置了Release版本没有问题;想调试程序的时候发现Debug版本会报错.

按照查找资料的分析,是因为exe中变量的内存在调用的库中释放了,导致出错,解决方法目前查到了两种
在这里插入图片描述

解决方法 一 (推荐)

https://www.cnblogs.com/CGwolke/p/7851994.html

直接对相应的内存进行预分配:
ORBExtractor.cc中作如下修改

//vector<cv::KeyPoint> vKeysCell;修改如下
 vector<cv::KeyPoint> vKeysCell(10000); 

FAST(mvImagePyramid[level].rowRange(iniY,maxY).colRange(iniX,maxX),
                         vKeysCell,iniThFAST,true);

解决方法 二

https://blog.youkuaiyun.com/jszj/article/details/81317471

对opencv进行了修改,添加了接口,对所有vector类传出的参数在使用完后调用此接口来释放内存即可

调试运行速度慢的问题

编译选项修改,开启O2编译
https://blog.youkuaiyun.com/m0_37829462/article/details/124747028
Visual Studio开启O2编译优化选项,提示 “/O2”和“/RTC1”命令行选项不兼容 错误
https://blog.youkuaiyun.com/qq_52293358/article/details/124440998

vector iterators incompatible错误

修改:

for(vector<KeyFrame*>::const_iterator itKF=mvpLocalKeyFrames.begin(), itEndKF=mvpLocalKeyFrames.end(); itKF!=itEndKF; itKF++)
//改为
forint i=0;i<mvpLocalKeyFrames.size();i++;

//再把
KeyFrame* pKF = *itKF;
//变成
KeyFrame* pKF = mvpLocalKeyFrames[i];

https://www.cnblogs.com/jiangym1998/p/13673145.html

最后祝大家的代码一调就通。Alt

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值