【问题标题】:C++0x compiler support issueC++0x 编译器支持问题
【发布时间】:2014-11-05 23:17:30
【问题描述】:

尝试在 Ubuntu 14.04 上安装 pdf2htmlEX,但遇到此错误

错误:您的编译器不支持 C++0x,请更新它。

检查了我的 gcc 和 g++ 版本

gcc (Ubuntu 4.9.1-3ubuntu2~14.04.1) 4.9.1

g++ (Ubuntu 4.9.1-3ubuntu2~14.04.1) 4.9.1

对于 C++0x 支持应该没问题。还为 cc & c++ 添加了符号链接。我在这里想念什么? 4.9.1不支持C++0x吗?

编辑:

当我尝试使用 cmake 制作应用程序时发生错误。这是我可以在 CMakeLists.txt 中找到的内容

# CYGWIN or GCC 4.5.x bug
if(CYGWIN)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
endif()

>include(CheckCXXCompilerFlag)
check_cxx_compiler_flag("${CMAKE_CXX_FLAGS}" CXX0X_SUPPORT)
if(NOT CXX0X_SUPPORT)
    message(FATAL_ERROR "Error: your compiler does not support C++0x, please update it.")
endif()

【问题讨论】:

  • 编译的时候通过-std=c++11了吗?
  • 确保您的编译器支持它!你是怎么编译的?
  • 其实最好用-std=gnu++11,-std=c++11禁用大部分gnu扩展。
  • @EvanDark 因此最好使用-std=c++11
  • 它可能由于其他无效的 CXX 标志(与 -std 无关)而失败,它们是什么?你能message( STATUS "${CMAKE_CXX_FLAGS}") 吗?

标签: c++ gcc c++11 g++ cc


【解决方案1】:

好的,看起来 ${CMAKE_CXX_FLAGS} 包括

-stdlib=libc++

根据这个帖子When is it necessary to use use the flag -stdlib=libstdc++? 没有必要,所以删除它似乎解决了问题

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 2010-11-02
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多