解决编译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为例,应将项目属性作如下设置:
相关推荐
小怡同学..34 分钟前
c++系列之智能指针的使用
开发语言·c++
jian110582 小时前
windows清理系统备份文件夹WinSxS文件夹清理
windows
mxpan2 小时前
C++ 单例模式一种实现方式
c++·设计模式
whoarethenext3 小时前
使用 C++/OpenCV 计算图像特征并用 Faiss 进行相似细节搜索
c++·opencv·faiss
only-lucky3 小时前
C++设计模式
java·c++·设计模式
范纹杉想快点毕业3 小时前
Qt构造函数详解:布局与快捷键实战
c语言·开发语言·数据库·c++·qt·命令模式
FreeBuf_4 小时前
ComfyUI遭“Pickai“C++后门攻击,全球700余台AI图像生成服务器沦陷
服务器·c++·人工智能
十年编程老舅6 小时前
C/C++ 高频八股文面试题1000题(一)
c++·八股文·大厂面试题·c++八股文·八股文面试题·c++面经
方博士AI机器人6 小时前
GNU Octave 基础教程(1):Ubuntu 22.04 与 Windows 11 安装 Octave 全流程
windows·ubuntu·octave
Hat_man_7 小时前
Windows下memcpy_s如何在Linux下使用
linux·c++