PCL安装常见的错误集合解决方案(一)

常见的错误集合解决方案(一)

No.1

提示错误

'Microsoft.VC90.CRT,version="9.0.21022.8"

把Microsoft.NET Framework 3.5.1下面的全部勾选上。

No.2

解决Qt Designer设计的图标但是VS生成不显示

问题描述:

在Qt designer中为菜单栏和工具栏设计的图标,但是在VS中生成得到的界面却没有图标

问题解决:

需要在VS中导入自己设计的资源文件,如下:

Source Files右键添加现有项,将自己的资源文件导入进去,然后就看到如下:

No.3

在QtDesigner中添加QVTKWidget,显示三维点云窗口

将下图的文件

复制到

进入Qt designer 

点帮助->关于插件->刷新 

QVTK就出来了 

No.4

error LNK2038: 检测

到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2

使用VS2013版本引用外部的lib进行编译时候提示:

错误25 error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项:  值“0”不匹配值“2”(jrtplibSend.obj 中) 

F:\jrtplibProjects\jrtplibSend\jrtplibSend\jrtplib.lib(rtpudpv6transmitter.obj) jrtplibSend

产生这个问题的原因是当前工程是Debug版本,而引用的库文件时Release版本,只需要把当前的Debug模式改成Release模式就可以了,或者打开解决方案--》属性--》链接器--》输入--》附加依赖项中引用debug版本的lib文件名称。

同样,如果检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”

则说明是Release模式引用了Debug的库文件。这类问题在引用文件时要注意版本的匹配

借用他人的情况分析我遇到error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项:  值“0”不匹配值“2” 错误的第二个原因

release下,在库版本匹配没有问题。

但是编译报错error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项:  值“0”不匹配值“2”。

原因是:我release下,工程设置中运行库中设置成了"多线程调试 DLL (/MDd)"。这个是设置应该是在debug下的设置,release下应该设置“多线程 DLL (/MD)”。

No.5

Qt的pro文件转化为vs的工程文件

引言

使用QtCreator创建的工程,工程文件是pro文件,但是在实际开发中,可能需要用到VS进行调试(VS在代码编辑以及调试方面都要优于QtCreator)或者个人喜好VS进行开发。可以使用以下的方法实现Pro文件转化为Vs的工程文件,并进行调试。

步骤

1.首先配置Qt和VS的环境变量

2.然后进入到工程目录,执行以下命令

qmake -tp vc xxx.pro

3.运行结束后,打开工程目录,后看到生成之后的工程文件,使用vs的编辑器进行打开并编译,有可能会出现链接错误(LNK2026 模块对于 SAFESEH 映像是不安全的),这个时候打开工程配置-链接-命令行,添加以下的代码。

/SAFESEH:NO

No.6

boost 链接出错无法打开libboost_thread-vc140-mt-sgd-1_64.lib

第一个链接说明,当选择什么样子的运行时库,程序在编译的时候,就会去调用相应编译时期指定的版本,比如s代表的是运行时静态库,gd代表的是调试模式,当出现无法打开上面的情况下,说明放在指定目录下的boost编译库,可能是动态库,跟目标的不一致,因此需要调整匹配上。

  • “多线程(/MT)”:release版本多线程静态库

需要使用 libboost_regex-vc90-mt-s- 1_44.lib

  • “多线程调试(/MTd)”:debug版本多线程静态程库

需要使用libboost_regex-vc90-mt-sgd-1_44.lib

 

  • “多线程 DLL(/MD)”:release版本多线程动态库

需要使用静态boost 库连接 libboost_regex-vc90-mt -1_44.lib

 

  • 动态boost 库连接, 需要在引入库前加上“lib”,

运行需要带上对应的dll

boost_regex-vc90-mt-1_44.lib  à在引入库前加上“lib” boost_regex-vc90-mt-1_44.dll

 

  • “多线程调试 DLL(/MDd)”:debug版本 多线程动态库

需要使用静态boost 库连接

libboost_regex-vc90-mt-gd-1_44.lib

 

  • 动态boost 库连接, 需要在引入库前加上“lib”,

 运行需要带上对应的dll

boost_regex-vc90-mt-gd-1_44.lib  à 在引入库前加上“lib”

boost_regex-vc90-mt-gd-1_44.dll

http://www.cnblogs.com/bluedoctor/p/6236905.html

 

http://blog.csdn.net/xucuiping_/article/details/5979532

写在后面,看看这个方式能不能ok:

1、在官网下载boost源文件,然后编译,下载的目录下面有一个文件叫bootstrap.bat的批处理文件,双击执行然后就会生成一个文件bjam.exe

2、然后转到下载的目录下面执行下面的语句:

bjam address-model = 64

解释:=64表示编译的是64位的boost

   =32表示编译的是32位的boost

3、然后执行后就会得到下面的截图:

4、关于在生成过程中缺失这样的文件的时候的解决办法

libboost_thread-vc141-mt-sgd-1_65_1.lib

其中的sgd表示的是debug版本多线程静态程库,然后我们去boost的lib文件夹下面去找这个lib文件,发现是没有的,那么这个时候就需要我们自己去编译这个lib文件了,下面说下如何编译:

win+r打开cmd窗口,进入编译目录,执行

bjam stage --toolset=msvc-14.0 --stagedir="D:\boost_1_65_1" link=shared runtime-link=shared threading=multi debug release 

bjam stage --toolset=msvc-14.0 --stagedir="D:\boost_1_65_1" link=static runtime-link=static threading=multi debug release

说明:

1、不同toolset版本只需更改版本就行,比如msvc-14.1的14.1改为其他版本,如9.0

2、目录记得改为自己的boost目录,

运行后得到下面(这里我就运行了第二条,时间很久)

3、看下得到的lib文件是什么样子的:

然后就会得到缺失的什么sgd.lib文件了,在链接进去即可

未完待续...

目前微信交流群不断壮大,由于人数太多,目前有两个群,为了鼓励大家分享,我们希望大家能在学习的同时积极分享,将您的问题或者小总结投稿发到群主邮箱主邮箱dianyunpcl@163.com。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正。未经授权,请勿转载!如有侵权,请联系删除。

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:群主微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云PCL公众号博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值