解决编译pcl时报错‘chrono_literals‘: is not a member of ‘std‘

解决编译pcl时报错'chrono_literals': is not a member of 'std'

在编译pcl库(1.14.1版)时,产生了这一类报错信息。主要在
visualization\include\pcl\visualization\impl\registration_visualizer.hpp
tools\obj_rec_ransac_scene_opps.cpp
tools\obj_rec_ransac_result.cpp
tools\image_grabber_viewer.cpp
tools\pcd_grabber_viewer.cpp

等文件中产生此错误。

报错信息

error C2871: 'chrono_literals': a namespace with this name does not exist

error C2039: 'chrono_literals': is not a member of 'std'

error C2039: "milliseconds": 不是 "std" 的成员

报错原因

在GNU C/C++编译器的头文件中,包含了thread之后会隐式地包含chrono头文件,因而编译时不产生上述错误;但把相同的代码放在Windows平台中用VS2022编译,便会产生此类报错信息------因为从VS2019开始,MSVC的thread头文件不再包含chrono。而VS2015的thread包含了chrono,可以正常编译。

解决方法

  1. 显式包含头文件chrono。在使用了ms单位的文件开头增加包含语句:
cpp 复制代码
#include <chrono>
  1. 确保打开/c++14开关。确保你的编译器以支持C++14语法的模式进行编译。以Visual Studio为例,应将项目属性作如下设置:
相关推荐
汉克老师8 小时前
GESP6级C++考试语法知识(四、图与树(四))
c++·贪心算法·优先队列·哈夫曼编码·哈夫曼树·gesp6级·gesp六级
子兮曰9 小时前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端
特种加菲猫9 小时前
二叉搜索树:数据世界的“快速寻路指南”
开发语言·c++
naturerun9 小时前
从数组中删除元素的算法
数据结构·c++·算法
特种加菲猫9 小时前
STL关联容器:Set/Multiset与Map/Multimap详解
开发语言·c++
Andy9 小时前
C++ list容器基本逻辑结构详解
c++·windows·list
想唱rap11 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
瑶池酒剑仙11 小时前
C++类和对象完全指南:从封装继承多态到内存布局的面向对象宝典(雨夜论道)
c语言·开发语言·c++·visual studio
潇湘散客12 小时前
CAX软件插件化设计实现牛刀小试
c++·算法·图形学·opengl
Ricky_Theseus12 小时前
const 和 #define 的区别
c++