commit | 489339219538d9265409681bac969036c272a9ff | [log] [tgz] |
---|---|---|
author | Sergiu Deitsch <sergiu.deitsch@gmail.com> | Sat Sep 30 11:48:32 2023 +0200 |
committer | Sergiu Deitsch <sergiu.deitsch@gmail.com> | Sat Sep 30 13:37:39 2023 +0200 |
tree | 83200fb9a4306afcd35fc9ff0a768c4f7d07085c | |
parent | 0cea191d40390abce375ae615a4eab7297284622 [diff] |
Rework MSVC warning suppression Previously, MSVC warning C4996 was suppressed unconditionally in the entire code base which made it difficult identifying and fixing specific problems, particularly those in the public interface. Prefer now to disable warnings at the specific location they occur. This approach, however, reveals an inconsistency in how Ceres handles POSIX functions which are declared deprecated by MSVC. Specifically, Bessel functions use the underscore form whereas the read function does not. To simplify the logic, we revert to POSIX compatible functions. C++23 also deprecates std::numeric_limits<T>::has_denorm which MSVC warns about. Here, we disable the deprecation warning locally to avoid the warning leaking into the user code. Fixes #1013 Change-Id: Ida8457cc8dd8770b4384a7c49d16f213b02cdec4
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.