在编译一个项目时,发现在调试版本时提示这个出错:
1>------ 已启动生成: 项目: simulation2, 配置: Debug Win32 ------
1>precompiled.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(112): error C2338: /RTCc rejects conformant code, so it isn't supported by the C++ Standard Library. Either remove this compiler option, or define _ALLOW_RTCc_IN_STL to acknowledge that you have received this warning.
1>已完成生成项目“simulation2.vcxproj”的操作 - 失败。
双击之后,会进入这里:
#ifdef _RTC_CONVERSION_CHECKS_ENABLED
#ifndef _ALLOW_RTCc_IN_STL
static_assert(false, "/RTCc rejects conformant code, "
"so it isn't supported by the C++ Standard Library. "
"Either remove this compiler option, or define _ALLOW_RTCc_IN_STL "
"to acknowledge that you have received this warning.");
#endif /* _ALLOW_RTCc_IN_STL */
#endif /* _RTC_CONVERSION_CHECKS_ENABLED */
Smaller Type check (/RTCc):数据截断的检测
但是STL不允许这个检查,按上面解释来说,要么关闭这个选项,要么定义
_ALLOW_RTCc_IN_STL宏
因此,我的解决方法是关闭这个检查,如下:
修改这个参数之后,再编译就可以解决。