【问题标题】:g++ error with standard library (limits.h)标准库 (limits.h) 的 g++ 错误
【发布时间】:2014-05-06 11:03:36
【问题描述】:

我试图从 http://openbiometrics.org/doxygen/latest/installation.html 安装 OpenBR,但我收到标准 c 库错误。

/home/vinaychandra/OpenBR/openbr/openbr/janus.cpp: In function ‘janus_error janus_verify(janus_flat_template, size_t, janus_flat_template, size_t, double*)’:
/home/vinaychandra/OpenBR/openbr/openbr/janus.cpp:123:40: error: ‘lowest’ is not a member of ‘std::numeric_limits<double>’
     else                 *similarity = std::numeric_limits<double>::lowest();
                                        ^
make[2]: *** [openbr/CMakeFiles/openbr.dir/janus.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [openbr/CMakeFiles/openbr.dir/all] Error 2

我只知道 numeric_limits 是标准的 c++ 库。而且这样的错误不应该存在。请解释为什么会出现这个问题。

我的 g++ 版本是 4.9.0。我也试过 4.8 和 4.7 版本。

【问题讨论】:

  • 我实际上在文件夹中运行了一个 make 命令。你想让我在哪里尝试命令?
  • 您需要将标志添加到用于创建 makefile 的 cmake 命令,以告诉 cmake-std=c++11 添加到编译器标志。我建议你阅读CMAKE documentation

标签: c++ g++ c++-standard-library g++4.8 g++-4.7


【解决方案1】:

当您尝试使用最新版本的 Ubuntu 时,OpenBR 一直在报告问题。这可能是因为 g++ 版本和其他一些库。请恢复到 13.04 以充分使用 OpenBR

【讨论】:

  • 是的,这行得通。我尝试了其他选项,但都没有成功
猜你喜欢
  • 2013-10-05
  • 1970-01-01
  • 2016-08-10
  • 2012-11-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 2016-02-16
  • 2011-06-26
相关资源
最近更新 更多