vs2019中使用ceres2.0.0遇到 错误 C3861 “M_2_SQRTPI”: 找不到标识符

vs2019中使用ceres2.0.0 “M_2_SQRTPI”: 找不到标识符

错误信息

错误 C3861 “M_2_SQRTPI”: 找不到标识符 D:\Libs\ceres\install\include\ceres\jet.h 583

问题触发条件(错误原因)

  1. 使用ceres2.0.0
  2. vs2019新建的项目中默认开启了标准符合性选项,此时
  3. M_2_SQRTPI不是标准C、C++的常量,所以在jet.h中仅仅包含cmath是不够的,还需要定义一个宏_USE_MATH_DEFINES才能使用M_2_SQRTPI

解决方法(二选一)

  1. 关闭标准符合性或者符合模式选项,即设置为
    vs2019中使用ceres2.0.0遇到 错误 C3861 “M_2_SQRTPI”: 找不到标识符_第1张图片

  2. 在属性->预处理器下添加宏_USE_MATH_DEFINES。注意,最佳方案就是在属性页面里添加此宏。如果只是在项目的某个文件头部加了一句#define _USE_MATH_DEFINES,很可能是没用的。
    vs2019中使用ceres2.0.0遇到 错误 C3861 “M_2_SQRTPI”: 找不到标识符_第2张图片

参考1
参考2

你可能感兴趣的:(c++,c++)