I am trying to port a big project from gcc (Linux) to msvc (windows), using cmake and boost libraries.
The project compile and runs fine for gcc but on msvc it returns t
In my case, the /EHsc
flag did not work. Turned out that BOOST_NO_EXCEPTIONS
was defined so the compiler was searching for the "user defined" (as in boost/throw_exception.hpp) function.
Therefore, a quick fix is to write your favorite boost::throw_exception()
function:
namespace boost
{
#ifdef BOOST_NO_EXCEPTIONS
void throw_exception( std::exception const & e ){
throw 11; // or whatever
};
#endif
}// namespace boost