so I work in an environment where we are not able to link any runtime libraries, or use exceptions. However we want to take advantage of either BOOST or STL. Initially we tried linking in boost::container::string/vector/map/... and were unable to resolve linker errors.
So currently I am trying to link in STL's headers, to do so I defined the following preprocessor directives:
#define _HAS_ITERATOR_DEBUGGING 0
#define _HAS_EXCEPTIONS 0
I am able to link succesfully with #include and I am able to instantiate a std::vector, however when I call push_back(32); on the vector I am greeted with the following linker errors:
error LNK2001: unresolved external symbol "void (__cdecl* std::_Raise_handler)(class stdext::exception const &)" (?_Raise_handler@std@@3P6AXAEBVexception@stdext@@@ZEA)
error LNK2001: unresolved external symbol _invoke_watson
error LNK2001: unresolved external symbol "void __cdecl std::_Xlength_error(char const *)" (?_Xlength_error@std@@YAXPEBD@Z)
we are using visual studio 2010 (and it's default compiler). We are looking to migrate to vs2012 in the near future, which could be expedited if it helped resolve these errors.
Is there any way to link either boost or STL under these restrictions (no exceptions, no runtime libraries)?
Thanks! We really don't want to miss out on the benefits of STL / boost because of our environment restrictions