error C3646: “jmp”: 未知重写说明符

 

error C3646: “jmp”: 未知重写说明符

错误如下:

1>------ 已启动全部重新生成: 项目: OrbbecStreamSample, 配置: Release x64 ------
1>colorcamera.cpp
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(131): error C3646: “jmp”: 未知重写说明符
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(131): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(137): error C2039: “jmp”: 不是“jerror_mgr”的成员
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(128): note: 参见“jerror_mgr”的声明
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(137): error C3861: “longjmp”: 找不到标识符
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(154): error C2039: “jmp”: 不是“jerror_mgr”的成员
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(128): note: 参见“jerror_mgr”的声明
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\colorcamera.cpp(154): error C3861: “setjmp”: 找不到标识符
1>ColorViewer.cpp
1>main.cpp
1>ObUvcAPIWin32.cpp
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\obuvcapiwin32.cpp(362): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\obuvcapiwin32.cpp(701): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\obuvcapiwin32.cpp(749): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据
1>e:\vs2017workspace\orbbecstreamsample\orbbecstreamsample\obuvcapiwin32.cpp(792): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据
1>正在生成代码...
1>已完成生成项目“OrbbecStreamSample.vcxproj”的操作 - 失败。
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========
 

发现

error C3861: “longjmp”: 找不到标识符

error C3861: “setjmp”: 找不到标识符

 

这些标识符都在一个vs的头文件setjmp.h中,

在colorcamera.cpp中包含头文件#include <setjmp.h>之后,问题解决掉了。