Это указывает на то, что некоторые из ваших кодов или статических библиотек созданы с помощью компилятора Visual Studio 2012 и заголовков / библиотек времени выполнения C / C ++, а другой код построен с помощью компилятора Visual Studio 2015 и заголовков / библиотек времени выполнения C / C ++.
Хотя некоторые виды связей стабильны между выпусками Visual C ++ (старые функции C, extern "C"
функции, интерфейсы COM и т. Д.), Все связи C ++ зависят от версии. Это особенно верно в отношении стандартной библиотеки C ++ (например, стандартной библиотеки шаблонов), которая меняет структуру памяти от версии к версии, поэтому может произойти сбой во время выполнения.
Чтобы избежать этого, библиотека добавляет штамп ссылки _MSC_VER
к модулям выходного кода, чтобы улавливать эти виды несоответствий во время соединения.
По своему дизайну среда выполнения C / C ++ Visual Studio 2017 была сделана двоичной совместимой с средой выполнения Visual Studio 2015 Update 3 C / C ++, чтобы упростить адаптацию. Это не нормальный шаблон, и VS 2012 не двоично совместим с VS 2015/2017. Смотрите это сообщение в блоге .