Reputation: 73
I am trying to debug a C++ program that uses std::map.
In this post http://blog.jetbrains.com/clion/2015/05/debug-clion/ it says that they support GNU STL Renderers if you include -stdlib=libstdc++ in the CMake file, however I get an error when building.
c++: error: unrecognized command line option '--stdlib=libstdc++'
Here is my CMake file
cmake_minimum_required(VERSION 3.3)
project(lint)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 --stdlib=libstdc++")
set(SOURCE_FILES main.cpp)
add_executable(lint ${SOURCE_FILES})
Here is my 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;
}
How do I get GNU STL Renderers to work like their announcement said?
Upvotes: 1
Views: 1325
Reputation: 4196
Remove this extra dash:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -stdlib=libstdc++")
// ^^^
One dash goes a long way in the command line!
Also, look closely at the linked article:
This feature works in GCC, and in the case of Clang it works for libstdc++ only.
From what I conclude that with g++, there is no need to append this option, the renderers should work out of the box.
Edit: the obligatory SO question link.
Upvotes: 1