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

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

这是我的CMake文件
cmake_minimum_required(VERSION 3.3)

项目( Lint )
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渲染器像他们的声明那样工作?

最佳答案

删除以下多余的破折号:

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

在命令行中,短划线很长!

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



从我得出的结论来看,对于g++,不需要附加此选项,渲染器应开箱即用。

编辑:必须的SO question link

关于c++ - CLion GNU STL渲染器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35279745/

10-11 22:47