我正在尝试调试使用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/