mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 16:40:38 +08:00
Update minimum required C++ version for Ceres to C++14
- Removes all workarounds for pre-C++14 versions - Removes '11' qualifier from C++ threading option and associated defines. - Fix missing inclusion of 'Multithreading' in reported Ceres components when C++ threading model is enabled. - Update Sphinx documentation to specify C++14 as minimum requirement. Change-Id: I706c8b367b3221e3c4d1a0aaf669a8f9c911e438
This commit is contained in:
@@ -54,8 +54,9 @@ Why?
|
||||
of Non-linear Conjugate Gradients, BFGS and LBFGS.
|
||||
|
||||
* **Speed** - Ceres Solver has been extensively optimized, with C++
|
||||
templating, hand written linear algebra routines and OpenMP or C++11 threads
|
||||
based multithreading of the Jacobian evaluation and the linear solvers.
|
||||
templating, hand written linear algebra routines and OpenMP or
|
||||
modern C++ threads based multithreading of the Jacobian evaluation
|
||||
and the linear solvers.
|
||||
|
||||
* **Solution Quality** Ceres is the `best performing`_ solver on the NIST
|
||||
problem set used by Mondragon and Borchers for benchmarking
|
||||
|
||||
@@ -23,9 +23,8 @@ Dependencies
|
||||
|
||||
.. NOTE ::
|
||||
|
||||
All versions of Ceres > 1.14 require a **fully C++11-compliant**
|
||||
compiler. In versions <= 1.14, C++11 was an optional requirement
|
||||
controlled by the ``CXX11 [Default: OFF]`` build option.
|
||||
Starting with v2.0 Ceres requires a **fully C++14-compliant**
|
||||
compiler. In versions <= 1.14, C++11 was an optional requirement.
|
||||
|
||||
Ceres relies on a number of open source libraries, some of which are
|
||||
optional. For details on customizing the build process, see
|
||||
@@ -378,7 +377,7 @@ Windows
|
||||
<https://github.com/tbennun/ceres-windows>`_ for Ceres Solver by Tal
|
||||
Ben-Nun.
|
||||
|
||||
On Windows, we support building with Visual Studio 2013 Release 4 or newer. Note
|
||||
On Windows, we support building with Visual Studio 2015.2 of newer. Note
|
||||
that the Windows port is less featureful and less tested than the
|
||||
Linux or Mac OS X versions due to the lack of an officially supported
|
||||
way of building SuiteSparse and CXSparse. There are however a number
|
||||
@@ -709,7 +708,7 @@ Options controlling Ceres configuration
|
||||
gains in the ``SPARSE_SCHUR`` solver, you can disable some of the
|
||||
template specializations by turning this ``OFF``.
|
||||
|
||||
#. ``CERES_THREADING_MODEL [Default: CXX11_THREADS > OPENMP > NO_THREADS]``:
|
||||
#. ``CERES_THREADING_MODEL [Default: CXX_THREADS > OPENMP > NO_THREADS]``:
|
||||
Multi-threading backend Ceres should be compiled with. This will
|
||||
automatically be set to only accept the available subset of threading
|
||||
options in the CMake GUI.
|
||||
@@ -904,8 +903,6 @@ The Ceres components which can be specified are:
|
||||
#. ``Multithreading``: Ceres built with *a* multithreading library.
|
||||
This is equivalent to (``CERES_THREAD != NO_THREADS``).
|
||||
|
||||
#. ``C++11``: Ceres built with C++11.
|
||||
|
||||
To specify one/multiple Ceres components use the ``COMPONENTS`` argument to
|
||||
`find_package()
|
||||
<http://www.cmake.org/cmake/help/v3.2/command/find_package.html>`_ like so:
|
||||
|
||||
@@ -2226,7 +2226,7 @@ The three arrays will be:
|
||||
Number of threads actually used by the solver for Jacobian and
|
||||
residual evaluation. This number is not equal to
|
||||
:member:`Solver::Summary::num_threads_given` if none of `OpenMP`
|
||||
or `CXX11_THREADS` is available.
|
||||
or `CXX_THREADS` is available.
|
||||
|
||||
.. member:: LinearSolverType Solver::Summary::linear_solver_type_given
|
||||
|
||||
|
||||
Reference in New Issue
Block a user