<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Drac</id>
	<title>Code::Blocks - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Drac"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/Drac"/>
	<updated>2026-05-23T00:31:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=5471</id>
		<title>Using STLFilt with MinGW</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=5471"/>
		<updated>2008-03-24T14:10:50Z</updated>

		<summary type="html">&lt;p&gt;Drac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
== What is STLFilt ==&lt;br /&gt;
STLFilt is an STL error message decryptor for C++.&lt;br /&gt;
A more detailed description (taken from STLFilt [http://www.bdsoft.com/tools/stlfilt.html webpage]):&lt;br /&gt;
&lt;br /&gt;
''STLFilt simplifies and/or reformats long-winded C++ error and warning messages, with a focus on STL-related diagnostics. The result renders many of even the most cryptic diagnostics comprehensible.''&lt;br /&gt;
&lt;br /&gt;
STLFilt supports the following compilers:&lt;br /&gt;
&lt;br /&gt;
* Comeau C++ (comofilt)&lt;br /&gt;
* GCC 2.95.x/3.x/4.x  (gstlfilt)&lt;br /&gt;
* MSVC++ 6/7/8/9 (incl. Dinkum Libraries) (stlfilt)&lt;br /&gt;
* Metrowerks CodeWarrior Pro 7/8 (cwfilt)&lt;br /&gt;
* Borland C++ / C++Builder (bccfilt)&lt;br /&gt;
* Intel C++ 7/8 (intelfilt)&lt;br /&gt;
* EDG Front End (Generic) (edgfilt)&lt;br /&gt;
* Digital Mars C++ (dmcfilt)&lt;br /&gt;
&lt;br /&gt;
This article will be focusing on ''gSTLFilt'' used with [https://www.codeblocks.org/downloads/binaries#windows Code::Blocks MinGW] bundled package for Microsoft Windows platform.&lt;br /&gt;
&lt;br /&gt;
== Installing STLFilt ==&lt;br /&gt;
&lt;br /&gt;
Because the core of STLFilt is a &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; script you will need to have a &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; distribution installed, such as [http://www.activestate.com/Products/activeperl/ ActivePerl]&lt;br /&gt;
&lt;br /&gt;
STLFilt is distributed as an zip archive, which can be downloaded from [http://www.bdsoft.com/dist/gstlfilt.zip here].&lt;br /&gt;
&lt;br /&gt;
From the STLFilt archive you will be needing the following files: &amp;lt;tt&amp;gt;c++.exe, Proxy-gcc.INI, and gSTLFilt.pl&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation steps are:&lt;br /&gt;
&lt;br /&gt;
* Rename &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\CodeBlocks\MinGW\bin\mingw32-g++.exe&amp;quot;&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;mingw32-g++2.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\c++.exe&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt; and rename it as &amp;lt;tt&amp;gt;mingw32-g++.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\gSTLFilt.pl&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\Proxy-gcc.INI&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;%windir%&amp;lt;/tt&amp;gt; (for example: &amp;lt;tt&amp;gt;c:\windows&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* Create an empty file named &amp;lt;tt&amp;gt;filtering.on&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Edit &amp;lt;tt&amp;gt;%windir%\Proxy-gcc.INI&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;[common]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 filter_script=c:\Program Files\CodeBlocks\MinGW\bin\gSTLFilt.pl&lt;br /&gt;
 toggle_file_dir=c:\Program Files\CodeBlocks\MinGW\bin\                    &lt;br /&gt;
 native_gcc=mingw32-g++2.exe                     &lt;br /&gt;
 perl_exe=c:\perl\bin\perl.exe&lt;br /&gt;
&lt;br /&gt;
== Testing STLFilt ==&lt;br /&gt;
&lt;br /&gt;
Here is a test program:&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;map&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;iterator&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     map&amp;lt;int, string&amp;gt; months;&lt;br /&gt;
 &lt;br /&gt;
     months.insert(1, &amp;quot;January&amp;quot;);&lt;br /&gt;
     months.insert(2, &amp;quot;February&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     copy(months.begin(), months.end(), ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt; &amp;gt;(cout, &amp;quot;; &amp;quot;));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The error message without STLFilt is:&lt;br /&gt;
&lt;br /&gt;
 Compiling: main.cpp&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp: In function `int main()':&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:12: error: no matching function for call to `std::map&amp;lt;int, std::string, std::less&amp;lt;int&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt; &amp;gt;::insert(int, const char[8])'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:360: note: candidates are: std::pair&amp;lt;typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, bool&amp;gt; std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:384: note:                 typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:13: error: no matching function for call to `std::map&amp;lt;int, std::string, std::less&amp;lt;int&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt; &amp;gt;::insert(int, const char[9])'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:360: note: candidates are: std::pair&amp;lt;typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, bool&amp;gt; std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:384: note:                 typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stream_iterator.h: In member function `std::ostream_iterator&amp;lt;_Tp, _CharT, _Traits&amp;gt;&amp;amp; std::ostream_iterator&amp;lt;_Tp, _CharT, _Traits&amp;gt;::operator=(const _Tp&amp;amp;) [with _Tp = std::pair&amp;lt;int, std::string&amp;gt;, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]':&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:234:   instantiated from `_OutputIterator std::__copy(_InputIterator, _InputIterator, _OutputIterator, std::input_iterator_tag) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:266:   instantiated from `_OutputIterator std::__copy_aux2(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:308:   instantiated from `_OutputIterator std::__copy_ni2(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:327:   instantiated from `_OutputIterator std::__copy_ni1(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:358:   instantiated from `_OutputIterator std::copy(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:15:   instantiated from here&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stream_iterator.h:196: error: no match for 'operator&amp;lt;&amp;lt;' in '*((std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;*)this)-&amp;gt;std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;::_M_stream &amp;lt;&amp;lt; __value'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:63: note: candidates are: std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;(*)(std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:74: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_ios&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;(*)(std::basic_ios&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:86: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::ios_base&amp;amp;(*)(std::ios_base&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:121: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:155: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:98: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(bool) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:178: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(short int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:189: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(short unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:193: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:204: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:179: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long long int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:214: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long long unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:238: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(double) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:219: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(float) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:261: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long double) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:284: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(const void*) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:307: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_streambuf&amp;lt;_CharT, _Traits&amp;gt;*) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 Process terminated with status 1 (0 minutes, 1 seconds)&lt;br /&gt;
 3 errors, 0 warnings&lt;br /&gt;
&lt;br /&gt;
And now the error message '''with STLFilt enabled''': &lt;br /&gt;
&lt;br /&gt;
 Compiling: main.cpp&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp: In function `int main()':&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:12: error: No match for &lt;br /&gt;
    `map&amp;lt;int, string&amp;gt;::insert(int, const char[8])'&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:13: error: No match for &lt;br /&gt;
    `map&amp;lt;int, string&amp;gt;::insert(int, const char[9])'&lt;br /&gt;
 stream_iterator.h: In member function &lt;br /&gt;
    `ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt; &amp;amp;&lt;br /&gt;
     ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;::operator=(&lt;br /&gt;
 	const pair&amp;lt;int, string&amp;gt; &amp;amp;&lt;br /&gt;
     )':&lt;br /&gt;
 stl_algobase.h:234:   instantiated from &lt;br /&gt;
    `ostream_iterator&amp;lt;&lt;br /&gt;
 	pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &lt;br /&gt;
     &amp;gt; __copy(&lt;br /&gt;
 	iter, iter&lt;br /&gt;
       , ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;&lt;br /&gt;
       , input_iterator_tag&lt;br /&gt;
     )'&lt;br /&gt;
     [STL Decryptor: Suppressed 4 more STL standard header messages]&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:15:   instantiated from here&lt;br /&gt;
 stream_iterator.h:196: error: no match for 'operator&amp;lt;&amp;lt;' in '*(&lt;br /&gt;
 	(ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt; *)this&lt;br /&gt;
     )-&amp;gt;ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;&lt;br /&gt;
     ::_M_stream &amp;lt;&amp;lt; __value'&lt;br /&gt;
 STL Decryptor reminders:&lt;br /&gt;
     Use the /hdr:L option to see all suppressed standard lib headers&lt;br /&gt;
     Use the /cand:L option to see all suppressed template candidates&lt;br /&gt;
 Process terminated with status 1 (0 minutes, 2 seconds)&lt;br /&gt;
 3 errors, 0 warnings&lt;br /&gt;
&lt;br /&gt;
== Removing Perl as a dependency ==&lt;br /&gt;
&lt;br /&gt;
In order to remove &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; as a dependency one needs to transform &amp;lt;tt&amp;gt;gSTLFilt.pl&amp;lt;/tt&amp;gt; into an executable, here are two ways:&lt;br /&gt;
&lt;br /&gt;
'''By using [http://search.cpan.org/~smueller/PAR-0.977/lib/PAR.pm PAR] and [http://search.cpan.org/~autrijus/PAR-0.85_01/script/pp pp]'''&lt;br /&gt;
&lt;br /&gt;
* Install [http://www.activestate.com/Products/activeperl/ ActivePerl]&lt;br /&gt;
* Run from a console window&lt;br /&gt;
 set path=%path%;c:\perl\bin;&amp;quot;c:\Program Files\CodeBlocks\MinGW\bin\&amp;quot;&lt;br /&gt;
 cpan&lt;br /&gt;
 install PAR&lt;br /&gt;
 install pp&lt;br /&gt;
 q&lt;br /&gt;
 set path=%path%;c:\Perl\site\bin\&lt;br /&gt;
 pp gSTLFilt.pl -o gSTLFilt.exe&lt;br /&gt;
&lt;br /&gt;
This takes allot of time and the resulted binary &amp;lt;tt&amp;gt;gSTLFilt.exe&amp;lt;/tt&amp;gt; is 2.5Mb in size with&lt;br /&gt;
a speed penalty and high CPU usage at first run, on subsequent runs the CPU usage is high for one to&lt;br /&gt;
two seconds.&lt;br /&gt;
&lt;br /&gt;
The binary is an executable containing a zip file with required parts of &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; to execute property the&lt;br /&gt;
perl script.&lt;br /&gt;
&lt;br /&gt;
'''By using [http://www.indigostar.com/perl2exe.htm Perl2Exe]'''&lt;br /&gt;
&lt;br /&gt;
You don't need to install &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; for this to work. The resulted binary size is 500kb, there is no high CPU&lt;br /&gt;
usage at first run. The downfall is that you have a message nag for two seconds at exit (only for the shareware version).&lt;br /&gt;
&lt;br /&gt;
In order to use &amp;lt;tt&amp;gt;gSTLFilt.exe&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;gSTLFilt.pl&amp;lt;/tt&amp;gt; you should modify &amp;lt;tt&amp;gt;%windir%\Proxy-gcc.INI&amp;lt;/tt&amp;gt;&lt;br /&gt;
like this:&lt;br /&gt;
&lt;br /&gt;
 filter_script=.&lt;br /&gt;
 perl_exe=c:\Program Files\CodeBlocks\MinGW\bin\gSTLFilt.exe&lt;br /&gt;
&lt;br /&gt;
The dot for &amp;lt;tt&amp;gt;filter_script&amp;lt;/tt&amp;gt; will give a Warning, but other than that it should work fine.&lt;/div&gt;</summary>
		<author><name>Drac</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Sandbox&amp;diff=5470</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Sandbox&amp;diff=5470"/>
		<updated>2008-03-23T22:44:53Z</updated>

		<summary type="html">&lt;p&gt;Drac: Sandbox moved to Using STLFilt with MinGW&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Using STLFilt with MinGW]]&lt;/div&gt;</summary>
		<author><name>Drac</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=5469</id>
		<title>Using STLFilt with MinGW</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=5469"/>
		<updated>2008-03-23T22:44:53Z</updated>

		<summary type="html">&lt;p&gt;Drac: Sandbox moved to Using STLFilt with MinGW&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
== What is STLFilt ==&lt;br /&gt;
STLFilt is an STL error message decryptor for C++.&lt;br /&gt;
A more detailed description (taken from STLFilt [http://www.bdsoft.com/tools/stlfilt.html webpage]):&lt;br /&gt;
&lt;br /&gt;
''STLFilt simplifies and/or reformats long-winded C++ error and warning messages, with a focus on STL-related diagnostics. The result renders many of even the most cryptic diagnostics comprehensible.''&lt;br /&gt;
&lt;br /&gt;
STLFilt supports the following compilers:&lt;br /&gt;
&lt;br /&gt;
* Comeau C++ (comofilt)&lt;br /&gt;
* GCC 2.95.x/3.x/4.x  (gstlfilt)&lt;br /&gt;
* MSVC++ 6/7/8/9 (incl. Dinkum Libraries) (stlfilt)&lt;br /&gt;
* Metrowerks CodeWarrior Pro 7/8 (cwfilt)&lt;br /&gt;
* Borland C++ / C++Builder (bccfilt)&lt;br /&gt;
* Intel C++ 7/8 (intelfilt)&lt;br /&gt;
* EDG Front End (Generic) (edgfilt)&lt;br /&gt;
* Digital Mars C++ (dmcfilt)&lt;br /&gt;
&lt;br /&gt;
This article will be focusing on ''gSTLFilt'' used with [https://www.codeblocks.org/downloads/binaries#windows Code::Blocks MinGW] bundled package for Microsoft Windows platform.&lt;br /&gt;
&lt;br /&gt;
== Installing STLFilt ==&lt;br /&gt;
&lt;br /&gt;
Because the core of STLFilt is a &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; script you will need to have a &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; distribution installed, such as [http://www.activestate.com/Products/activeperl/ ActivePerl]&lt;br /&gt;
&lt;br /&gt;
STLFilt is distributed as an zip archive, which can be downloaded from [http://www.bdsoft.com/dist/gstlfilt.zip here].&lt;br /&gt;
&lt;br /&gt;
From the STLFilt archive you will be needing the following files: &amp;lt;tt&amp;gt;c++.exe, Proxy-gcc.INI, and gSTLFilt.pl&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation steps are:&lt;br /&gt;
&lt;br /&gt;
* Rename &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\CodeBlocks\MinGW\bin\mingw32-g++.exe&amp;quot;&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;mingw32-g++2.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\c++.exe&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt; and rename it as &amp;lt;tt&amp;gt;mingw32-g++.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\gSTLFilt.pl&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\Proxy-gcc.INI&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;%windir%&amp;lt;/tt&amp;gt; (for example: &amp;lt;tt&amp;gt;c:\windows&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* Create an empty file named &amp;lt;tt&amp;gt;filtering.on&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Edit &amp;lt;tt&amp;gt;%windir%\Proxy-gcc.INI&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;[common]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 filter_script=c:\Program Files\CodeBlocks\MinGW\bin\gSTLFilt.pl&lt;br /&gt;
 toggle_file_dir=c:\Program Files\CodeBlocks\MinGW\bin\                    &lt;br /&gt;
 native_gcc=mingw32-g++2.exe                     &lt;br /&gt;
 perl_exe=c:\perl\bin\perl.exe&lt;br /&gt;
&lt;br /&gt;
== Testing STLFilt ==&lt;br /&gt;
&lt;br /&gt;
Here is a test program:&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;map&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;iterator&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     map&amp;lt;int, string&amp;gt; months;&lt;br /&gt;
 &lt;br /&gt;
     months.insert(1, &amp;quot;January&amp;quot;);&lt;br /&gt;
     months.insert(2, &amp;quot;February&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     copy(months.begin(), months.end(), ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt; &amp;gt;(cout, &amp;quot;; &amp;quot;));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The error message without STLFilt is:&lt;br /&gt;
&lt;br /&gt;
 Compiling: main.cpp&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp: In function `int main()':&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:12: error: no matching function for call to `std::map&amp;lt;int, std::string, std::less&amp;lt;int&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt; &amp;gt;::insert(int, const char[8])'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:360: note: candidates are: std::pair&amp;lt;typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, bool&amp;gt; std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:384: note:                 typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:13: error: no matching function for call to `std::map&amp;lt;int, std::string, std::less&amp;lt;int&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt; &amp;gt;::insert(int, const char[9])'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:360: note: candidates are: std::pair&amp;lt;typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, bool&amp;gt; std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:384: note:                 typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stream_iterator.h: In member function `std::ostream_iterator&amp;lt;_Tp, _CharT, _Traits&amp;gt;&amp;amp; std::ostream_iterator&amp;lt;_Tp, _CharT, _Traits&amp;gt;::operator=(const _Tp&amp;amp;) [with _Tp = std::pair&amp;lt;int, std::string&amp;gt;, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]':&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:234:   instantiated from `_OutputIterator std::__copy(_InputIterator, _InputIterator, _OutputIterator, std::input_iterator_tag) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:266:   instantiated from `_OutputIterator std::__copy_aux2(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:308:   instantiated from `_OutputIterator std::__copy_ni2(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:327:   instantiated from `_OutputIterator std::__copy_ni1(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:358:   instantiated from `_OutputIterator std::copy(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:15:   instantiated from here&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stream_iterator.h:196: error: no match for 'operator&amp;lt;&amp;lt;' in '*((std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;*)this)-&amp;gt;std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;::_M_stream &amp;lt;&amp;lt; __value'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:63: note: candidates are: std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;(*)(std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:74: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_ios&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;(*)(std::basic_ios&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:86: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::ios_base&amp;amp;(*)(std::ios_base&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:121: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:155: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:98: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(bool) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:178: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(short int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:189: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(short unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:193: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:204: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:179: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long long int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:214: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long long unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:238: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(double) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:219: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(float) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:261: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long double) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:284: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(const void*) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:307: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_streambuf&amp;lt;_CharT, _Traits&amp;gt;*) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 Process terminated with status 1 (0 minutes, 1 seconds)&lt;br /&gt;
 3 errors, 0 warnings&lt;br /&gt;
&lt;br /&gt;
And now the error message '''with STLFilt enabled''': &lt;br /&gt;
&lt;br /&gt;
 Compiling: main.cpp&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp: In function `int main()':&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:12: error: No match for &lt;br /&gt;
    `map&amp;lt;int, string&amp;gt;::insert(int, const char[8])'&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:13: error: No match for &lt;br /&gt;
    `map&amp;lt;int, string&amp;gt;::insert(int, const char[9])'&lt;br /&gt;
 stream_iterator.h: In member function &lt;br /&gt;
    `ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt; &amp;amp;&lt;br /&gt;
     ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;::operator=(&lt;br /&gt;
 	const pair&amp;lt;int, string&amp;gt; &amp;amp;&lt;br /&gt;
     )':&lt;br /&gt;
 stl_algobase.h:234:   instantiated from &lt;br /&gt;
    `ostream_iterator&amp;lt;&lt;br /&gt;
 	pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &lt;br /&gt;
     &amp;gt; __copy(&lt;br /&gt;
 	iter, iter&lt;br /&gt;
       , ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;&lt;br /&gt;
       , input_iterator_tag&lt;br /&gt;
     )'&lt;br /&gt;
     [STL Decryptor: Suppressed 4 more STL standard header messages]&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:15:   instantiated from here&lt;br /&gt;
 stream_iterator.h:196: error: no match for 'operator&amp;lt;&amp;lt;' in '*(&lt;br /&gt;
 	(ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt; *)this&lt;br /&gt;
     )-&amp;gt;ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;&lt;br /&gt;
     ::_M_stream &amp;lt;&amp;lt; __value'&lt;br /&gt;
 STL Decryptor reminders:&lt;br /&gt;
     Use the /hdr:L option to see all suppressed standard lib headers&lt;br /&gt;
     Use the /cand:L option to see all suppressed template candidates&lt;br /&gt;
 Process terminated with status 1 (0 minutes, 2 seconds)&lt;br /&gt;
 3 errors, 0 warnings&lt;br /&gt;
&lt;br /&gt;
== Removing Perl as a dependency ==&lt;br /&gt;
&lt;br /&gt;
In order to remove &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; as a dependency one needs to transform &amp;lt;tt&amp;gt;gSTLFilt.pl&amp;lt;/tt&amp;gt; into an executable, here are two ways:&lt;br /&gt;
&lt;br /&gt;
'''By using [http://search.cpan.org/~smueller/PAR-0.977/lib/PAR.pm PAR] and [http://search.cpan.org/~autrijus/PAR-0.85_01/script/pp pp]'''&lt;br /&gt;
&lt;br /&gt;
* Install [http://www.activestate.com/Products/activeperl/ ActivePerl]&lt;br /&gt;
* Run from a console window&lt;br /&gt;
 set path=%path%;c:\perl\bin;&amp;quot;c:\Program Files\CodeBlocks\MinGW\bin\&amp;quot;&lt;br /&gt;
 cpan&lt;br /&gt;
 install PAR&lt;br /&gt;
 install pp&lt;br /&gt;
 q&lt;br /&gt;
 set path=%path%;c:\Perl\site\bin\&lt;br /&gt;
 pp gSTLFilt.pl -o gSTLFilt.exe&lt;br /&gt;
&lt;br /&gt;
This takes allot of time and the resulted binary &amp;lt;tt&amp;gt;gSTLFilt.exe&amp;lt;/tt&amp;gt; is 2.5Mb in size with&lt;br /&gt;
a speed penalty and high CPU usage at first run, on subsequent runs the CPU usage is high for one to&lt;br /&gt;
two seconds.&lt;br /&gt;
&lt;br /&gt;
The binary is an executable containing a zip file with required parts of &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; to execute property the&lt;br /&gt;
perl script.&lt;br /&gt;
&lt;br /&gt;
'''By using [http://www.indigostar.com/perl2exe.htm Perl2Exe]'''&lt;br /&gt;
&lt;br /&gt;
You don't need to install &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; for this to work. The resulted binary size is 500kb, there is no high CPU&lt;br /&gt;
usage at first run. The downfall is that you have a message nag for two seconds at exit (only for the shareware version).&lt;br /&gt;
&lt;br /&gt;
In order to use &amp;lt;tt&amp;gt;gSTLFilt.exe&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;gSTLFilt.pl&amp;lt;/tt&amp;gt; you should modify &amp;lt;tt&amp;gt;%windir%\Proxy-gcc.INI&amp;lt;/tt&amp;gt;&lt;br /&gt;
like this:&lt;br /&gt;
&lt;br /&gt;
 filter_script=.&lt;br /&gt;
 perl_exe=c:\Program Files\CodeBlocks\MinGW\bin\gSTLFilt.exe&lt;br /&gt;
&lt;br /&gt;
The dot for &amp;lt;tt&amp;gt;filter_script&amp;lt;/tt&amp;gt; will give a Warning, but other than it should work fine.&lt;/div&gt;</summary>
		<author><name>Drac</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=5468</id>
		<title>Using STLFilt with MinGW</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Using_STLFilt_with_MinGW&amp;diff=5468"/>
		<updated>2008-03-23T22:41:45Z</updated>

		<summary type="html">&lt;p&gt;Drac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User Documentation]]&lt;br /&gt;
== What is STLFilt ==&lt;br /&gt;
STLFilt is an STL error message decryptor for C++.&lt;br /&gt;
A more detailed description (taken from STLFilt [http://www.bdsoft.com/tools/stlfilt.html webpage]):&lt;br /&gt;
&lt;br /&gt;
''STLFilt simplifies and/or reformats long-winded C++ error and warning messages, with a focus on STL-related diagnostics. The result renders many of even the most cryptic diagnostics comprehensible.''&lt;br /&gt;
&lt;br /&gt;
STLFilt supports the following compilers:&lt;br /&gt;
&lt;br /&gt;
* Comeau C++ (comofilt)&lt;br /&gt;
* GCC 2.95.x/3.x/4.x  (gstlfilt)&lt;br /&gt;
* MSVC++ 6/7/8/9 (incl. Dinkum Libraries) (stlfilt)&lt;br /&gt;
* Metrowerks CodeWarrior Pro 7/8 (cwfilt)&lt;br /&gt;
* Borland C++ / C++Builder (bccfilt)&lt;br /&gt;
* Intel C++ 7/8 (intelfilt)&lt;br /&gt;
* EDG Front End (Generic) (edgfilt)&lt;br /&gt;
* Digital Mars C++ (dmcfilt)&lt;br /&gt;
&lt;br /&gt;
This article will be focusing on ''gSTLFilt'' used with [https://www.codeblocks.org/downloads/binaries#windows Code::Blocks MinGW] bundled package for Microsoft Windows platform.&lt;br /&gt;
&lt;br /&gt;
== Installing STLFilt ==&lt;br /&gt;
&lt;br /&gt;
Because the core of STLFilt is a &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; script you will need to have a &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; distribution installed, such as [http://www.activestate.com/Products/activeperl/ ActivePerl]&lt;br /&gt;
&lt;br /&gt;
STLFilt is distributed as an zip archive, which can be downloaded from [http://www.bdsoft.com/dist/gstlfilt.zip here].&lt;br /&gt;
&lt;br /&gt;
From the STLFilt archive you will be needing the following files: &amp;lt;tt&amp;gt;c++.exe, Proxy-gcc.INI, and gSTLFilt.pl&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation steps are:&lt;br /&gt;
&lt;br /&gt;
* Rename &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\CodeBlocks\MinGW\bin\mingw32-g++.exe&amp;quot;&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;mingw32-g++2.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\c++.exe&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt; and rename it as &amp;lt;tt&amp;gt;mingw32-g++.exe&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\gSTLFilt.pl&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Copy &amp;lt;tt&amp;gt;gstlfilt.zip\Proxy-gcc.INI&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;%windir%&amp;lt;/tt&amp;gt; (for example: &amp;lt;tt&amp;gt;c:\windows&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* Create an empty file named &amp;lt;tt&amp;gt;filtering.on&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;c:\Program Files\CodeBlocks\MinGW\bin\&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Edit &amp;lt;tt&amp;gt;%windir%\Proxy-gcc.INI&amp;lt;/tt&amp;gt; under &amp;lt;tt&amp;gt;[common]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 filter_script=c:\Program Files\CodeBlocks\MinGW\bin\gSTLFilt.pl&lt;br /&gt;
 toggle_file_dir=c:\Program Files\CodeBlocks\MinGW\bin\                    &lt;br /&gt;
 native_gcc=mingw32-g++2.exe                     &lt;br /&gt;
 perl_exe=c:\perl\bin\perl.exe&lt;br /&gt;
&lt;br /&gt;
== Testing STLFilt ==&lt;br /&gt;
&lt;br /&gt;
Here is a test program:&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 #include &amp;lt;map&amp;gt;&lt;br /&gt;
 #include &amp;lt;string&amp;gt;&lt;br /&gt;
 #include &amp;lt;iterator&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     map&amp;lt;int, string&amp;gt; months;&lt;br /&gt;
 &lt;br /&gt;
     months.insert(1, &amp;quot;January&amp;quot;);&lt;br /&gt;
     months.insert(2, &amp;quot;February&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     copy(months.begin(), months.end(), ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt; &amp;gt;(cout, &amp;quot;; &amp;quot;));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The error message without STLFilt is:&lt;br /&gt;
&lt;br /&gt;
 Compiling: main.cpp&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp: In function `int main()':&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:12: error: no matching function for call to `std::map&amp;lt;int, std::string, std::less&amp;lt;int&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt; &amp;gt;::insert(int, const char[8])'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:360: note: candidates are: std::pair&amp;lt;typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, bool&amp;gt; std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:384: note:                 typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:13: error: no matching function for call to `std::map&amp;lt;int, std::string, std::less&amp;lt;int&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt; &amp;gt;::insert(int, const char[9])'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:360: note: candidates are: std::pair&amp;lt;typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, bool&amp;gt; std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_map.h:384: note:                 typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator std::map&amp;lt;_Key, _Tp, _Compare, _Alloc&amp;gt;::insert(typename std::_Rb_tree&amp;lt;_Key, std::pair&amp;lt;const _Key, _Tp&amp;gt;, std::_Select1st&amp;lt;std::pair&amp;lt;const _Key, _Tp&amp;gt; &amp;gt;, _Compare, _Alloc&amp;gt;::iterator, const std::pair&amp;lt;const _Key, _Tp&amp;gt;&amp;amp;) [with _Key = int, _Tp = std::string, _Compare = std::less&amp;lt;int&amp;gt;, _Alloc = std::allocator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stream_iterator.h: In member function `std::ostream_iterator&amp;lt;_Tp, _CharT, _Traits&amp;gt;&amp;amp; std::ostream_iterator&amp;lt;_Tp, _CharT, _Traits&amp;gt;::operator=(const _Tp&amp;amp;) [with _Tp = std::pair&amp;lt;int, std::string&amp;gt;, _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]':&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:234:   instantiated from `_OutputIterator std::__copy(_InputIterator, _InputIterator, _OutputIterator, std::input_iterator_tag) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:266:   instantiated from `_OutputIterator std::__copy_aux2(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:308:   instantiated from `_OutputIterator std::__copy_ni2(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:327:   instantiated from `_OutputIterator std::__copy_ni1(_InputIterator, _InputIterator, _OutputIterator, __false_type) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_algobase.h:358:   instantiated from `_OutputIterator std::copy(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = std::_Rb_tree_iterator&amp;lt;std::pair&amp;lt;const int, std::string&amp;gt; &amp;gt;, _OutputIterator = std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;]'&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:15:   instantiated from here&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stream_iterator.h:196: error: no match for 'operator&amp;lt;&amp;lt;' in '*((std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;*)this)-&amp;gt;std::ostream_iterator&amp;lt;std::pair&amp;lt;int, std::string&amp;gt;, char, std::char_traits&amp;lt;char&amp;gt; &amp;gt;::_M_stream &amp;lt;&amp;lt; __value'&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:63: note: candidates are: std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;(*)(std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:74: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_ios&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;(*)(std::basic_ios&amp;lt;_CharT, _Traits&amp;gt;&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:86: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::ios_base&amp;amp;(*)(std::ios_base&amp;amp;)) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:121: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:155: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:98: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(bool) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:178: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(short int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:189: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(short unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:193: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:204: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:179: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long long int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:214: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long long unsigned int) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:238: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(double) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:219: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(float) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:261: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(long double) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:284: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(const void*) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ostream.tcc:307: note:                 std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;&amp;amp; std::basic_ostream&amp;lt;_CharT, _Traits&amp;gt;::operator&amp;lt;&amp;lt;(std::basic_streambuf&amp;lt;_CharT, _Traits&amp;gt;*) [with _CharT = char, _Traits = std::char_traits&amp;lt;char&amp;gt;]&lt;br /&gt;
 Process terminated with status 1 (0 minutes, 1 seconds)&lt;br /&gt;
 3 errors, 0 warnings&lt;br /&gt;
&lt;br /&gt;
And now the error message '''with STLFilt enabled''': &lt;br /&gt;
&lt;br /&gt;
 Compiling: main.cpp&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp: In function `int main()':&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:12: error: No match for &lt;br /&gt;
    `map&amp;lt;int, string&amp;gt;::insert(int, const char[8])'&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:13: error: No match for &lt;br /&gt;
    `map&amp;lt;int, string&amp;gt;::insert(int, const char[9])'&lt;br /&gt;
 stream_iterator.h: In member function &lt;br /&gt;
    `ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt; &amp;amp;&lt;br /&gt;
     ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;::operator=(&lt;br /&gt;
 	const pair&amp;lt;int, string&amp;gt; &amp;amp;&lt;br /&gt;
     )':&lt;br /&gt;
 stl_algobase.h:234:   instantiated from &lt;br /&gt;
    `ostream_iterator&amp;lt;&lt;br /&gt;
 	pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &lt;br /&gt;
     &amp;gt; __copy(&lt;br /&gt;
 	iter, iter&lt;br /&gt;
       , ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;&lt;br /&gt;
       , input_iterator_tag&lt;br /&gt;
     )'&lt;br /&gt;
     [STL Decryptor: Suppressed 4 more STL standard header messages]&lt;br /&gt;
 D:\projects\edu\c++\testcb\main.cpp:15:   instantiated from here&lt;br /&gt;
 stream_iterator.h:196: error: no match for 'operator&amp;lt;&amp;lt;' in '*(&lt;br /&gt;
 	(ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt; *)this&lt;br /&gt;
     )-&amp;gt;ostream_iterator&amp;lt;pair&amp;lt;int, string&amp;gt;, char, char_traits&amp;lt;char&amp;gt; &amp;gt;&lt;br /&gt;
     ::_M_stream &amp;lt;&amp;lt; __value'&lt;br /&gt;
 STL Decryptor reminders:&lt;br /&gt;
     Use the /hdr:L option to see all suppressed standard lib headers&lt;br /&gt;
     Use the /cand:L option to see all suppressed template candidates&lt;br /&gt;
 Process terminated with status 1 (0 minutes, 2 seconds)&lt;br /&gt;
 3 errors, 0 warnings&lt;br /&gt;
&lt;br /&gt;
== Removing Perl as a dependency ==&lt;br /&gt;
&lt;br /&gt;
In order to remove &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; as a dependency one needs to transform &amp;lt;tt&amp;gt;gSTLFilt.pl&amp;lt;/tt&amp;gt; into an executable, here are two ways:&lt;br /&gt;
&lt;br /&gt;
'''By using [http://search.cpan.org/~smueller/PAR-0.977/lib/PAR.pm PAR] and [http://search.cpan.org/~autrijus/PAR-0.85_01/script/pp pp]'''&lt;br /&gt;
&lt;br /&gt;
* Install [http://www.activestate.com/Products/activeperl/ ActivePerl]&lt;br /&gt;
* Run from a console window&lt;br /&gt;
 set path=%path%;c:\perl\bin;&amp;quot;c:\Program Files\CodeBlocks\MinGW\bin\&amp;quot;&lt;br /&gt;
 cpan&lt;br /&gt;
 install PAR&lt;br /&gt;
 install pp&lt;br /&gt;
 q&lt;br /&gt;
 set path=%path%;c:\Perl\site\bin\&lt;br /&gt;
 pp gSTLFilt.pl -o gSTLFilt.exe&lt;br /&gt;
&lt;br /&gt;
This takes allot of time and the resulted binary &amp;lt;tt&amp;gt;gSTLFilt.exe&amp;lt;/tt&amp;gt; is 2.5Mb in size with&lt;br /&gt;
a speed penalty and high CPU usage at first run, on subsequent runs the CPU usage is high for one to&lt;br /&gt;
two seconds.&lt;br /&gt;
&lt;br /&gt;
The binary is an executable containing a zip file with required parts of &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; to execute property the&lt;br /&gt;
perl script.&lt;br /&gt;
&lt;br /&gt;
'''By using [http://www.indigostar.com/perl2exe.htm Perl2Exe]'''&lt;br /&gt;
&lt;br /&gt;
You don't need to install &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; for this to work. The resulted binary size is 500kb, there is no high CPU&lt;br /&gt;
usage at first run. The downfall is that you have a message nag for two seconds at exit (only for the shareware version).&lt;br /&gt;
&lt;br /&gt;
In order to use &amp;lt;tt&amp;gt;gSTLFilt.exe&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;gSTLFilt.pl&amp;lt;/tt&amp;gt; you should modify &amp;lt;tt&amp;gt;%windir%\Proxy-gcc.INI&amp;lt;/tt&amp;gt;&lt;br /&gt;
like this:&lt;br /&gt;
&lt;br /&gt;
 filter_script=.&lt;br /&gt;
 perl_exe=c:\Program Files\CodeBlocks\MinGW\bin\gSTLFilt.exe&lt;br /&gt;
&lt;br /&gt;
The dot for &amp;lt;tt&amp;gt;filter_script&amp;lt;/tt&amp;gt; will give a Warning, but other than it should work fine.&lt;/div&gt;</summary>
		<author><name>Drac</name></author>
	</entry>
</feed>