Я уже посмотрел на эти 2 ссылки из SF, но они мне не помогли:
.lib и .dll обратная совместимость
У меня есть проект C ++, и он не основан на CLR. Выходные данные представляют собой файл DLL. Прямо сейчас я нахожусь на Windows 8 и использую Visual Studio 2013, чтобы построить проект. Выходная DLL работает нормально на Windows 8. Но когда я помещаю ту же выходную DLL в окно 7, я получаю сообщение об ошибке «Missing DLL MSVCR120.DLL», я пытаюсь скопировать отсутствующую DLL в папку System32 в Windows 7, и пропадает ошибка DLL. далеко, но моя DLL все еще не работает. Только когда я создаю исходный код в Visual Studio 2010 на Windows 7, а затем использую его выходную DLL, он работает нормально. В Windows 7 установлена распространяемая среда выполнения C ++ 2010. Я также пытался установить другие версии среды выполнения C ++, но безуспешно на Win 7.
Могу ли я не использовать только одну машину для разработки и одну визуальную студию для создания одной (или даже нескольких) C ++ DLL, которая будет работать в большинстве версий Windows, таких как Vista, 7, 8, Server 2008 и т. Д.? Прямо сейчас я должен собрать исходный код на каждой отдельной ОС со своей собственной VS.
PS: проект является реализацией Windows Credential Provider.
Обычно вам необходимо установить VS2013 распространяется бесплатно на всех машинах эта DLL используется.
Альтернативой может быть создание вашего проекта для связи со статическими библиотеками времени выполнения, но полученный исполняемый файл будет больше по размеру; больше деталей в этот так ответ.
Там может быть несколько причин, что вещи не работают, как ожидалось
У меня недостаточно репутации, чтобы публиковать более двух ссылок, поэтому ищите Dependency Walker