Posts Tagged ‘TR1’

Posted by kent at 4 June 2010

Category: c++

Tags: , ,

When porting projects from Visual Studio 2008 or earlier to Visual Studio 2010, and you’re using boost::shared_ptr or other features present in TR1, there will be conflicts. Boost has their own implementation of shared_ptr in boost::shared_ptr and with VS2010 they have put shared_ptr in std::tr1 and they have made shared_ptr available through std::shared_ptr. When using using namespace std; and using namespace boost; there will be ambiguities.

To disable the C++0x/TR1 headers from VS2010 and use the boost implementation, define _HAS_CPP0X=0 in the preprocessor project settings for your VS2010 project. 

Select "All Configurations" and then add the preprocessor directive.

VN:F [1.9.13_1145]
Rating: 5.0/5 (3 votes cast)
Share