我最近发现 nlohmann/json 在 C++ 11 上运行。否则,由于使用更高 C++ 版本的不推荐行,它会给出一些语法错误。
bazel-out/k8-opt/bin/examples/collaboration_station/_virtual_includes/manipulation_station/drake/examples/manipulation_station/include/json.hpp:2149:30: error: redundant redeclaration of 'constexpr' static data member 'nlohmann::detail::static_const<T>::value' [-Werror=deprecated]
constexpr T static_const<T>::value;
^~~~~
bazel-out/k8-opt/bin/examples/collaboration_station/_virtual_includes/manipulation_station/drake/examples/manipulation_station/include/json.hpp:2145:24: note: previous declaration of 'nlohmann::detail::static_const<T>::value'
static constexpr T value{};
通过使用关键术语,我能够使用 nlohmann 运行普通的 c++ 文件
bazel run --cxxopt='-std=c++11
但是,如果我将 drake 合并到我的示例中,它不会运行(很可能是由于 C++ 版本低)
为了测试 nlohmann/json,我在他们的github 页面上获取了位于 json/single_include/nlohmann/json.hpp 下的 json.hpp 文件。我确保#include json 文件。
有没有一种简单的方法可以将 nlohmann/json 或任何其他类型的 json 阅读器合并到 drake 中?