【问题标题】:RestBed - Not able to compile in Redhat 7RestBed - 无法在 Redhat 7 中编译
【发布时间】:2018-03-28 19:17:20
【问题描述】:

我们正在 RHEL7 中构建 C++ 应用程序,我们需要将 RestBed 用作服务和客户端。

但是,当尝试编译源代码时,我们在 GCC 上收到错误,即版本为

RedHat 不支持 GCC 版本 > 4.8.5。

那么,解决方案是什么?我们是否有适用于 GCC 4.8.5 的分支?

编辑: “configuration.cmake”具有以下代码行。

if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL GNU )
    if ( ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.9 )
        message( FATAL_ERROR "\nGCC version < 4.9\nYour systems default compiler is GCC. This project makes use of c++11 features present only in versions of gcc >= 4.9. You can use a different compiler by re-running cmake with the command switch \"-D CMAKE_CXX_COMPILER=<compiler>\" " )
    else ( )
        set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-non-virtual-dtor" )
    endif ( )

所以,我猜代码默认不支持版本。

【问题讨论】:

标签: c++ restbed


【解决方案1】:

Restbed 需要一个支持 C++11 的编译器,以及所有的修饰。

【讨论】:

  • 好的,感谢您的确认,我们正在使用开发工具来解决这个问题。如果您决定进行修复,请通知我们。
  • 我们删除了特定的编译器检查,并用 CMake CXX_Standard 检测代替了它。它现在可能会编译,但如果您的编译器仅支持部分 C++11,您可能会遇到未定义的行为。
  • 哇,感谢您提供此功能。我们会检查并更新您,非常感谢您的支持。
  • 一点也不。如果我们不能都使用它,那软件是什么?话虽如此,不保证它在不符合 C++11 的情况下可以正常运行。
猜你喜欢
  • 1970-01-01
  • 2020-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多