Visual Studio 2015 — Использование VS2015 для компиляции C ++ для Vista

Несколько дней назад я поставил вопрос в шапке на форуме Microsoft.
Мне дали два варианта, которые ИМХО не очень хороши:

  1. Установите распространяемые файлы VS2015 на целевой машине.
  2. Статическая компиляция, чтобы код не вызывал файлы DLL VS2015.

Первый вариант резко увеличивает время установки моего приложения.

Второй параметр значительно увеличивает размер двоичных файлов, увеличивает время сборки и неприменим при компиляции с флагом / CLR.

Теперь кажется, что, переместив мою разработку в Visual Studio 2015, я должен отказаться от поддержки Vista (на самом деле, до Windows 7 тоже) или предоставить более плохой продукт, чем тот, который я ранее предоставлял.

Примечание: я прыгнул, используя платформу Toolset = v140_xp решит проблему, но, видимо, это не так.

Пожалуйста, просветите меня с лучшим решением.

0

Решение

Вещи изменились несколько с VS2015. Эта статья объясняет, что вам нужно сделать: http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

Короче говоря, универсальный ЭЛТ теперь является компонентом Windows. Он поставляется с Windows 10 и обновлением Windows в более ранних версиях. Ваши варианты:

  1. Положитесь на пакеты обновления Windows.
  2. Примените распространяемые среды выполнения.
  3. Ссылка статична, что категорически не рекомендуется.
  4. Разверните двоичные файлы, необходимые для локальной установки приложения во время выполнения.

Этот последний вариант соответствует тому, что вы в настоящее время делаете. В статье говорится:

Поддерживается локальное развертывание универсального CRT на уровне приложений. Чтобы получить двоичные файлы для локального развертывания приложения, установите Windows Software Development Kit (SDK) для Windows 10. Двоичные файлы будут установлены в C: \ Program Files (x86) \ Windows Kits \ 10 \ Redist \ ucrt. Вам нужно будет скопировать все библиотеки DLL с вашим приложением (обратите внимание, что набор библиотек DLL необходим для разных версий Windows, поэтому необходимо включить все библиотеки DLL, чтобы ваша программа работала во всех поддерживаемых версиях Windows). ).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]