commit | 54ba6c27b504f43b59b0d91da0165995c66d9a3d | [log] [tgz] |
---|---|---|
author | Sergey Sharybin <sergey.vfx@gmail.com> | Sat Dec 23 18:18:24 2017 +0100 |
committer | Sergey Sharybin <sergey.vfx@gmail.com> | Tue Apr 23 12:16:28 2019 +0200 |
tree | ee038d7fec6688a9310ff10c70a61755421e8254 | |
parent | fac46d50eb50d7c0830f673cadc36e63407e40bf [diff] |
Fix missing declaration warnings in Ceres code This commit includes the following: - Changes to CMake to make it safer to see which compiler flags are supported, so this way we do not need to worry about version checks in CMake. - Unix platforms (which includes both Linux and Apple as far as i can tell) will now enable -Wmissing-declarations warning for the whole Ceres. - Changes in all sources to solve missing declaration warning. In most cases it was either matter of using static qualifier or moving functions to an anonymous namespace. In one case the function got removed, since it seems to be unused. Additionally, in slam examples there was a non-inlined function implementation in a header, which is a direct way to cause linking errors if other .cc file will include that helper header. - All third party sources (which is currently only gmock) has this extra paranoid warning disabled. This warning is important in the following cases: - Detect helper functions which are not needed anymore. - Avoid unnoticed pollution of namespace. - Avoid bad level calls. - Avoid missing updates in header files after changes in implementation file. - Helps integrating Ceres into software where paranoid warnings are important. Change-Id: I9b1044aced3910d8c6b2356cfe2bf57f3c8c58db
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.