Компилировать программу MFC в VC11 с поддержкой Windows XP? - PullRequest
2 голосов
/ 03 апреля 2012

Мое программное обеспечение написано на C ++ / MFC.Я нацеливаюсь на Windows XP и позже.Следовательно, я не могу выполнить обновление до Visual Studio 11, поскольку MFC 11.0 не поддерживает Windows XP.Тем не менее, я хотел бы воспользоваться улучшенным оптимизатором в VC11.(В настоящее время мне не нужны новые вещи C ++ 11.)

Я могу придумать два решения, но, возможно, есть и другие:

  1. Замена компилятора вVC10 с VC11.
  2. Обновление до VC11 и использование старого MFC 10 с VC10.

Какой подход вы бы порекомендовали?

Редактировать: Кажется, Visual Studio 2012 поддерживает C ++ для XP . Это относится и к MFC?

Ответы [ 4 ]

1 голос
/ 10 октября 2012

Хотя вы можете изменить Platform Toolsets на VC10 или более раннюю версию, это не совсем идеально.

В ожидании обновления OOB от Microsoft (см. Ниже) вы можете НЕ target XP / 2003 с VC11. Вы можете переключать только наборы инструментов платформы. CRT использует специфичные для NT6 + API.

Действительно, я тоже хочу оптимизировать VC11. Тем не менее, я должен поддерживать XP / 2003.

Microsoft объявила, на самом деле до окончательной первоначальной версии VS2012, что поддержка XP / 2003 будет повторно включена для VC11 в некоторых ожидаемых внеплановых обновлениях «позднее этой осенью» (2012 года). Здесь мы ждем ...

CTP «Обновления 1» теперь выпущен, поддерживая XP как цель сборки для VC11 (как специально установленный CRT, отличающийся от VC11). Доступно для скачивания здесь: http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx .. Выпущено 2 дня назад (8 октября 2012 г.).

1 голос
/ 03 апреля 2012

Поскольку в Visual Studio 2010 поддерживается собственная многоцелевая ориентация, следует проверить, поддерживает ли она также Visual Studio 11,

http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx

Отредактировано: если у вас установлены Visual Studio 2010 и Visual Studio 2008 на одном компьютере, вы сможете

  • перейти на страницы свойств проекта,
  • перейдите на вкладку Общие в свойствах конфигурации,
  • выберите либо Visual Studio 2010 (v100), либо Visual Studio 2008 (v90) для параметра Набор инструментов платформы.

Таким образом, вы можете скомпилировать свой проект в Visual Studio 11, но используя более старый набор инструментов Visual Studio (2010 или 2008). Полученный исполняемый файл со старыми библиотеками MFC должен нормально работать в Windows XP.

0 голосов
/ 08 апреля 2012

Связано ли ваше приложение статически или динамически с CRT и MFC? Если статически, вы можете попробовать этот обходной путь:

http://tedwvc.wordpress.com/2012/03/11/how-to-get-visual-c-2012-vc-11-beta-statically-linked-crt-and-mfc-applications-to-run-on-windows-xp/

0 голосов
/ 05 апреля 2012

Вы можете просто использовать Visual Studio 2010 для своего программного обеспечения.

AFAIK Вы можете установить Visual Studio 2010 и 2011 на одном компьютере, не мешая им.

...