Я знаю, что есть несколько похожих вопросов, но я не думаю, что у них действительно такие же требования, как у меня.
Наша DLL скомпилирована с Visual Studio 2005 и должна связываться с конкретной версией CRT из-за ограничений при установке. Это абсолютно, перекомпиляция его с последней версией не является решением.
Мы недавно обновили наши библиотеки Boost. Однако, когда я собрал Boost, он автоматически использовал последнюю версию CRT. Теперь, когда я связываю Boost с нашей программой, он создает зависимость как от самой новой (неправильной) версии CRT, так и от старой (правильной) версии CRT. Зависимость от самой новой версии должна исчезнуть.
Как лучше всего решить эту проблему? На данный момент лучшее, что я могу придумать, это перестроить Boost, используя старую версию, но я понятия не имею, как это легко сделать без изменения исходного кода.
Если бы был способ заставить Visual Studio использовать определенную версию CRT глобально (не для каждого проекта), это было бы замечательно. Или способ просто удалить самую новую версию CRT, но я уверен, что это невозможно, так как я думаю, что это считается частью ОС.