解决编译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为例,应将项目属性作如下设置:
相关推荐
点云SLAM14 小时前
C++std::enable_if_t 与 std::is_same_v使用
c++·模板元编程·c++ 类型萃取·enable_if_t·is_same_v
C+++Python14 小时前
C++ vector
开发语言·c++·算法
黄美美分享15 小时前
Windows自动化设置工具,无需编程让电脑自动工作!定时任务软件!打工人必备软件
运维·windows·自动化·电脑
ssxueyi15 小时前
Git 完整安装与环境配置教程(Windows/macOS/Linux 通用)
windows·git·macos·项目管理·git教程·代码管理
橘子师兄15 小时前
C++AI大模型接入SDK—deepseek接入封装
c++·人工智能·chatgpt
清酒难咽15 小时前
算法案例之蛮力法
c++·经验分享·算法
散峰而望15 小时前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github
上天夭16 小时前
补充提问(四)
windows·python
LXY_BUAA16 小时前
《C++学习》_使用visual studio封装程序_20260124
ide·学习·visual studio
zh_xuan16 小时前
LeeCode 61. 旋转链表
数据结构·c++·算法·leetcode·链表