Ранее я разрабатывал проект динамической библиотеки C ++ / CLI с использованием Visual Studio 2010, который я использую как ANE в приложении Adobe Air. Предыдущая версия DLL раньше была совместима с Windows 7 и Windows 7 SP1 из коробки (без установки каких-либо дополнительных вещей). Теперь в новой версии, когда я тестировал ее на трех Windows 7 с пакетом обновления 1 (SP1), появилась ошибка, в которой говорилось, что MSVCR100.DLL не установлен на текущем компьютере. Я ничего не изменил в проекте, кроме основного файла .cpp, поэтому я не понимаю, как это может быть.
Следующие пространства имен были использованы (добавлены) в новой версии:
Следующие классы были использованы (добавлены) в новой версии:
Может ли один из этих классов заставить мою DLL устанавливать MSVCR100.DLL на компьютер? Почему библиотека неожиданно начала требовать MSVCR100.DLL? Кто-нибудь знает?
Я пытался изменить Runtime Library с многопоточной DLL (/ MD) на многопоточный (/ MT), как комментируют многие посты, но при попытке сборки на Visual Studio появляется следующая ошибка: ‘/ clr’ и ‘/ mtd Параметры командной строки несовместимы. Так что этот вариант не был жизнеспособным.
Если кто-нибудь может сказать мне, как решить эту проблему, я был бы очень благодарен. Конечно, решение не может заключаться в установке распространяемого C ++ 2010. Мне нужно, чтобы это было чистое решение без каких-либо дополнительных требований для моего конечного пользователя.
Задача ещё не решена.
Других решений пока нет …