I want to test an early version of my program on a different machine, so I switched the solution type to Release in VC++ 2010. Trying to compile this, I get a bunch of linker errors that all end the same:
1 2 3 4 5 6 7 8
1>libboost_filesystem-vc100-mt-gd-1_44.lib(unique_path.obj) : error LNK2038: mismatch detected for'_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_filesystem-vc100-mt-gd-1_44.lib(operations.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_filesystem-vc100-mt-gd-1_44.lib(v2_operations.obj) : error LNK2038: mismatch detected for'_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_filesystem-vc100-mt-gd-1_44.lib(path.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_filesystem-vc100-mt-gd-1_44.lib(path_traits.obj) : error LNK2038: mismatch detected for'_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_filesystem-vc100-mt-gd-1_44.lib(windows_file_codecvt.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_filesystem-vc100-mt-gd-1_44.lib(codecvt_error_category.obj) : error LNK2038: mismatch detected for'_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
1>libboost_system-vc100-mt-gd-1_44.lib(error_code.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in BoostTesting.obj
After Googling it, I came up with a bunch of people saying that they'd had it happen, but no solutions. I'd really appreciate it if anyone can please help me with this.
You're probably trying to link modules that were compiled in debug mode and thus are using debug versions of the STL.
Either recompile in release mode or use the release builds if available.