windows 上编译ceres suitesparse
https://blog.csdn.net/weixin_44153180/article/details/11049966
此时运行还会报以下错误,将这些文件拷贝到对应目录下
错误 C1083 无法打开包括文件: “glog/log_severity.h”: No such file or directory
将 glog-0.4.0/src/glog/log_severity.h 复制到 test_ceres/include/glog/log_severity.h
错误 C1083 无法打开包括文件: “ceres/internal/config.h”: No such file or directory
将 ceres-solver-2.0.0/config/ceres/internal/config.h 复制到 test_ceres/include/ceres/internal/config.h
错误 C1189 #error: One of CERES_USE_OPENMP, CERES_USE_CXX_THREADS or CERES_NO_THREADS must be defined.
意为没指定以哪种方式运行 ceres ,在 调试 - test_ceres 调试属性 - 配置属性 - C/C++ - 预处理器 - 预处理器定义 中添加 CERES_USE_CXX_THREADS
错误 C3861 “M_2_SQRTPI”: 找不到标识符
在 调试 - test_ceres 调试属性 - 配置属性 - C/C++ - 预处理器 - 预处理器定义 中添加 _USE_MATH_DEFINES
错误 C4996 'j0': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _j0. See online help for details.
打开对应文件找到 600 行,可以发现有 j0 j1 jn 三个函数,同时有一个宏定义,开启后则使用 _j0 _j1 _jn
因此在 调试 - test_ceres 调试属性 - 配置属性 - C/C++ - 预处理器 - 预处理器定义 中添加 CERES_MSVC_USE_UNDERSCORE_PREFIXED_BESSEL_FUNCTIONS