Here's some code that has been compiling till at least 1.50, and starting long before. I isolated the part that breaks to create a program.

Here it is: Just taking a std::vector of int and copying into strings.

#include <boost/lexical_cast.hpp>
#include <vector>
#include <string>

using namespace std;

int main (int, char **) {
  vector<int> values;
  vector<string> ret;
  std::transform(values.begin(), values.end(), ret.begin(), boost::lexical_cast<std::string, int>);
}


And compiling on fedora 18, gcc 4.7 (Got same issues, I believe, with MSVC 10) I get the output at the bottom.
Anyone has an idea on what the problem could be?

Thanks,

a



[aleblanc@localhost base]$ gcc -c TestLexicalCast.cc
[aleblanc@localhost base]$ gcc -c -I/home/aleblanc/local/boost_1_53/include/ TestLexicalCast.cc
TestLexicalCast.cc: In function ‘int main(int, char**)’:
TestLexicalCast.cc:10:98: error: no matching function for call to ‘transform(std::vector<int>::iterator, std::vector<int>::iterator, std::vector<std::basic_string<char> >::iterator, <unresolved overloaded function type>)’
TestLexicalCast.cc:10:98: note: candidates are:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/algorithm:63:0,
                 from /home/aleblanc/local/boost_1_53/include/boost/utility/swap.hpp:24,
                 from /home/aleblanc/local/boost_1_53/include/boost/swap.hpp:10,
                 from /home/aleblanc/local/boost_1_53/include/boost/array.hpp:45,
                 from /home/aleblanc/local/boost_1_53/include/boost/lexical_cast.hpp:158,
                 from TestLexicalCast.cc:1:
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_algo.h:4940:5: note: template<class _IIter, class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation)
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_algo.h:4940:5: note:   template argument deduction/substitution failed:
TestLexicalCast.cc:10:98: note:   could not resolve address from overloaded function ‘lexical_cast<std::string, int>’
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/algorithm:63:0,
                 from /home/aleblanc/local/boost_1_53/include/boost/utility/swap.hpp:24,
                 from /home/aleblanc/local/boost_1_53/include/boost/swap.hpp:10,
                 from /home/aleblanc/local/boost_1_53/include/boost/array.hpp:45,
                 from /home/aleblanc/local/boost_1_53/include/boost/lexical_cast.hpp:158,
                 from TestLexicalCast.cc:1:
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_algo.h:4977:5: note: template<class _IIter1, class _IIter2, class _OIter, class _BinaryOperation> _OIter std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_algo.h:4977:5: note:   template argument deduction/substitution failed:
TestLexicalCast.cc:10:98: note:   could not resolve address from overloaded function ‘lexical_cast<std::string, int>’
[aleblanc@localhost base]$