CLION GNU STL Renderers

时间:2016-02-08 21:32:36

标签: c++ debugging stl cmake clion

我正在尝试调试使用std :: map的C ++程序 在这篇文章http://blog.jetbrains.com/clion/2015/05/debug-clion/中,如果在CMake文件中包含-stdlib = libstdc ++,它表示它们支持GNU STL Renderers,但是在构建时出现错误。

c++: error: unrecognized command line option '--stdlib=libstdc++'

这是我的CMake文件

cmake_minimum_required(VERSION 3.3)

项目(皮棉)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 --stdlib=libstdc++")

set(SOURCE_FILES main.cpp)
add_executable(lint ${SOURCE_FILES})

这是我的main.cpp

using namespace std;

int main() {
    list<map<string, int>*>* sint3 = new list<map<string,int>*>;
    sint3->push_front(new map<string,int>);
    return 0;
}

如何使GNU STL Renderers像他们的公告一样工作?

1 个答案:

答案 0 :(得分:1)

删除这个额外的短划线:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -stdlib=libstdc++")
//                                                  ^^^

命令行中的一个破折号很长!

另外,仔细查看链接的文章:

  

此功能适用于GCC,对于Clang,它仅适用于libstdc ++。

根据我的结论,使用g ++,无需附加此选项,渲染器应该开箱即用。

编辑:强制性的SO question link