Visual c windows xp: Скачать Microsoft Visual Studio C++ 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022 для Windows 7/8/10, 32/64bit

Visual C For Windows Xp Sp2

Users interested in Visual c for windows xp sp2 generally download:

Additional suggestions for Visual c for windows xp sp2 by our robot:

Search in titles

Visual FoxPro SP2 RunTime

Free only

Relevance

Quality

Found in titles & descriptions (20 results)

Showing results for «visual c sp2»
as the words for windows xp are considered too common

Offers 100 ASP.NET Web Forms UI controls for .NET 4.6, 4.5, 4.

AJAX R2 SP2…in a runnable Visual Studio project…to-use Visual Studio templates 

Download

Visual FoxPro 9.0 is an object-oriented relational database management system.

downloading Microsoft Visual FoxPro 9.0 …have Visual FoxPro 9.0…of SP2 

181

341

Download

OpenSceneGraph (OSG) is a set of tools to develop and manipulate images in 3D.

scientific visualization and modelling. ..Windows XP SP2 …Microsoft 

Download

A shell pack/theme pack that changes the appearance of Windows XP.

panel …) …Windows XP SP2 — Windows XP 

42

8,395

Download

Database that allows developers to build applications for Windows desktops.

Server Compact 3.5 SP2…Editor in Visual Studio 2010 

1

1,113

Download

It allows you to design indoor and outdoor tridimentional spaces.

custom roof. Visualize a new kitchen…(SP4), XP(SP2), Vista , 500 

Download

TabStrip is an ActiveX control that wraps the SysTabControl32 window class.

optimized for Visual Basic 6.0 …Server 2003 (SP2…Windows Vista (SP2 

Download

Adobe Flex Builder 3 is a development tool for building dynamic applications.

interactive, visual design…manipulation and visualization. ..Windows XP SP2, Microsoft 

3

2,700

Download

XML Parser and SDK includes header and .lib files, and documentation.

JScript®, Microsoft Visual Basic® 

Download

C-130 FSX is an add-on for MS FSX including E,H,J and Gunship variants.

X with Acceleration, SP2, DX10 Preview…Its exclusive visual effects include 

Download

Source control SQL Server databases from SSMS.

simultaneously — Visual editing …properties visually. Preview…2005 SP2 with Client 

Download

SocialMediaPlayer is a media player based on Adobe Air.

and fancy visualizations…Windows XP SP2 

Download

It’s program for graphic application and web pages graphic elements development.

for progress visual styles using…Windows XP SP2 и Vista 

Download

Environment for creating and maintaining highly formatted reports.

use the visual report designer…XP Professional SP2…(x64 Edition) SP2 

Download

SciCa is a scientific calculator, which is able to evaluate complex expressions.

you to visualize two-dimensional…Windows XP SP2, Windows 2003 

Download

More programs

PostgreSQL : Документация: 9.5: 16.1. Сборка с помощью Visual C++ или Microsoft Windows SDK : Компания Postgres Professional

RU

EN

RU EN

16.1.1. Требования

16.1.2. Специальные замечания для 64-битной Windows

16.1.3. Сборка

16.1.4. Очистка и установка

16.1.5. Запуск регрессионных тестов

16.1.6. Сборка документации

PostgreSQL может быть собран с помощью компилятора Visual C++ от Microsoft. Этот компилятор есть в пакетах Visual Studio, Visual Studio Express и в некоторых версиях Microsoft Windows SDK. Если у вас ещё не установлена среда Visual Studio, проще всего будет использовать компиляторы из Visual Studio 2019 или из Windows SDK 10, которые Microsoft распространяет бесплатно.

С применением инструментария Microsoft Compiler возможна и 32-, и 64-битная сборка. 32-битную сборку PostgreSQL можно произвести с использованием Visual Studio 2005 — Visual Studio 2019 (включая редакции Express), а также отдельных выпусков Windows SDK версии с 6.0 по 10. Для 64-битных сборок также можно использовать Microsoft Windows SDK версии с 6.0a по 10 или Visual Studio 2008 и новее. Компиляция для систем, начиная с Windows XP и Windows Server 2003, поддерживается при использовании Visual Studio 2005 — Visual Studio 2013. При сборке с Visual Studio 2015 поддерживаются системы, начиная с Windows Vista и Windows Server 2008. При сборке с Visual Studio 2017 и Visual Studio 2019 поддерживаются системы, начиная с Windows 7 SP1 и Windows Server 2008 R2 SP1.

Инструменты для компиляции с помощью Visual C++ или Platform SDK находятся в каталоге src/tools/msvc. При сборке убедитесь, что в системном пути PATH не подключаются инструменты из набора MinGW или Cygwin. Также убедитесь, что в пути PATH указаны каталоги всех необходимых инструментов Visual C++. Если вы используете Visual Studio, запустите Visual Studio Command Prompt. Если вы хотите собрать 64-битную версию, вы должны выбрать 64-битную версию данной оболочки, и наоборот. Если вы используете Microsoft Windows SDK, запустите через стартовое меню, подменю SDK оболочку CMD shell. В последних версиях SDK можно изменить целевую архитектуру процессора, вариант сборки и целевую ОС с помощью команды setenv, например после setenv /x86 /release /xp будет получена выпускаемая 32-битная сборка для Windows XP. О других параметрах setenv можно узнать с ключом /?. Все команды должны запускаться из каталога src\tools\msvc.

До начала сборки может потребоваться отредактировать файл config.pl и изменить в нём желаемые параметры конфигурации или пути к сторонним библиотекам, которые будут использоваться. Для получения конфигурации сначала считывается и разбирается файл config_default.pl, а затем применяются все изменения из config.pl. Например, чтобы указать, куда установлен Python, следует добавить в config.pl:

$config->{python} = 'c:\python26';

Вам нужно задать только те параметры, которые отличаются от заданных в config_default.pl.

Если вам необходимо установить какие-либо другие переменные окружения, создайте файл с именем buildenv.pl и поместите в него требуемые команды. Например, чтобы добавить путь к bison, которого нет в PATH, создайте файл следующего содержания:

$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';

16.1.1. Требования

Для сборки PostgreSQL требуется следующее дополнительное ПО. Укажите каталоги, в которых находятся соответствующие библиотеки, в файле конфигурации config.pl.

Microsoft Windows SDK

Если с вашим инструментарием для разработки не поставляется поддерживаемая версия Microsoft Windows SDK, рекомендуется установить последнюю версию SDK (в настоящее время 10), которую можно загрузить с https://www. microsoft.com/download/.

Устанавливая SDK, вы всегда должны выбирать для установки пункт Windows Headers and Libraries (Заголовочные файлы и библиотеки Windows). Если вы установили Windows SDK, включая Visual C++ Compilers, Visual Studio для сборки вам не нужна. Обратите внимание, что с версии 8.0a в SDK для Windows не включается полное окружение для сборки в командной строке.

ActiveState Perl

ActiveState Perl требуется для запуска скриптов, управляющих сборкой. Perl из MinGW или Cygwin работать не будет. ActiveState Perl также должен находиться по пути в PATH. Готовый двоичный пакет можно загрузить с http://www.activestate.com (Заметьте, что требуется версия 5.8.3 или выше, при этом достаточно бесплатного стандартного дистрибутива (Standard Distribution).)

Следующее дополнительное ПО не требуется для базовой сборки, но требуется для сборки полного пакета. Укажите каталоги, в которых находятся соответствующие библиотеки, в файле конфигурации config. pl.

ActiveState TCL

Требуется для компиляции PL/TCL (Заметьте, что требуется версия 8.4 или выше, при этом достаточно бесплатного стандартного дистрибутива (Standard Distribution).

Bison и Flex

Для компиляции из Git требуются Bison и Flex, хотя они не нужны для компиляции из дистрибутивного пакета исходного кода. Bison должен быть версии 1.875 или 2.2, либо новее, а Flex — версии 2.5.31 или новее.

И Bison, и Flex входят в комплект утилит msys, который можно загрузить с http://www.mingw.org/wiki/MSYS в качестве компонента набора MinGW.

Вам потребуется добавить каталог, содержащий flex.exe и bison.exe, в путь, задаваемый переменной PATH, в buildenv.pl, если она его ещё не включает. В случае с MinGW, это будет подкаталог \msys\1.0\bin в каталоге вашей инсталляции MinGW.

Примечание

Bison, поставляемый в составе GnuWin32, может работать некорректно, когда он установлен в каталог с именем, содержащим пробелы, например, C:\Program Files\GnuWin32 (целевой каталог по умолчанию в англоязычной системе). В таком случае, возможно, стоит установить его в C:\GnuWin32 или задать в переменной окружения PATH короткий путь NTFS к GnuWin32 (например, C:\PROGRA~1\GnuWin32).

Примечание

Старые программы «winflex», которые раньше размещались на FTP-сайте PostgreSQL и упоминались в старой документации, не будут работать в 64-битной системе, выдавая ошибку: «flex: fatal internal error, exec failed» (flex: фатальная внутренняя ошибка, сбой в exec). Используйте flex из набора msys.

Diff

Diff требуется для запуска регрессионных тестов, его можно загрузить с http://gnuwin32.sourceforge.net.

Gettext

Gettext требуется для сборки с поддержкой NLS, его можно загрузить с http://gnuwin32.sourceforge.net. Заметьте, что для сборки потребуются и исполняемые файлы, и зависимости, и файлы для разработки.

MIT Kerberos

Требуется для поддержки проверки подлинности GSSAPI. MIT Kerberos можно загрузить с https://web. mit.edu/Kerberos/dist/index.html.

libxml2 и libxslt

Требуется для поддержки XML. Двоичный пакет можно загрузить с https://zlatkovic.com/pub/libxml, а исходный код с http://xmlsoft.org. Учтите, что для libxml2 требуется iconv, который можно загрузить там же.

openssl

Требуется для поддержки SSL. Двоичные пакеты можно загрузить с http://www.slproweb.com/products/Win32OpenSSL.html, а исходный код с http://www.openssl.org.

ossp-uuid

Требуется для поддержки UUID-OSSP (только для contrib). Исходный код можно загрузить с http://www.ossp.org/pkg/lib/uuid/.

Python

Требуется для сборки PL/Python. Двоичные пакеты можно загрузить с http://www.python.org.

zlib

Требуется для поддержки сжатия в pg_dump и pg_restore. Двоичные пакеты можно загрузить с https://www.zlib.net.

16.1.2. Специальные замечания для 64-битной Windows

PostgreSQL для архитектуры x64 можно собрать только в 64-битной Windows, процессоры Itanium не поддерживаются.

Совместная сборка 32- и 64-битных версий в одном дереве не поддерживается. Система сборки автоматически определит, в каком окружении (32- или 64-битном) она запущена, и соберёт соответствующий вариант PostgreSQL. Поэтому перед сборкой важно запустить требуемую версию командного интерпретатора.

Для использования на стороне сервера сторонних библиотек, таких как python или openssl, эти библиотеки также должны быть 64-битными. 64-битный сервер не поддерживает загрузку 32-битных библиотек. Некоторые библиотеки сторонних разработчиков, предназначенные для PostgreSQL, могут быть доступны только в 32-битных версиях и в таком случае их нельзя будет использовать с 64-битной версией PostgreSQL.

16.1.3. Сборка

Чтобы собрать весь PostgreSQL в конфигурации выпуска (по умолчанию), запустите команду:

build

Чтобы собрать весь PostgreSQL в конфигурации отладки, запустите команду:

build DEBUG

Для сборки отдельного проекта, например psql, выполните, соответственно:

build psql
build DEBUG psql

Чтобы сменить конфигурацию по умолчанию на отладочную, поместите в файл buildenv. pl следующую строку:

$ENV{CONFIG}="Debug";

Также возможна сборка из графической среды Visual Studio. В этом случае вам нужно запустить в командной строке:

perl mkvcbuild.pl

и затем открыть в Visual Studio полученный pgsql.sln в корневом каталоге дерева исходных кодов.

16.1.4. Очистка и установка

В большинстве случаев за изменением файлов будет следить автоматическая система отслеживания зависимостей в Visual Studio. Но если изменений было слишком много, может понадобиться очистка установки. Чтобы её выполнить, просто запустите команду clean.bat, которая автоматически очистит все сгенерированные файлы. Вы также можете запустить эту команду с параметром dist, в этом случае она отработает подобно make distclean и удалит также выходные файлы flex/bison.

По умолчанию все файлы сохраняются в подкаталогах debug или release. Чтобы установить эти файлы стандартным образом, а также сгенерировать файлы, требуемые для инициализации и использования базы данных, запустите команду:

install c:\destination\directory

Если вы хотите установить только клиентские приложения и интерфейсные библиотеки, выполните команду:

install c:\destination\directory client

16.1.5. Запуск регрессионных тестов

Чтобы запустить регрессионные тесты, важно сначала собрать все необходимые для них компоненты. Также убедитесь, что в системном пути могут быть найдены все DLL, требуемые для загрузки всех подсистем СУБД (например, DLL Perl и Python для процедурных языков). Если их каталоги в пути поиска отсутствуют, задайте их в файле buildenv.pl. Чтобы запустить тесты, выполните одну из следующих команд в каталоге src\tools\msvc:

vcregress check
vcregress installcheck
vcregress plcheck
vcregress contribcheck
vcregress modulescheck
vcregress ecpgcheck
vcregress isolationcheck
vcregress bincheck
vcregress upgradecheck

Чтобы выбрать другой планировщик выполнения тестов (по умолчанию выбран параллельный), укажите его в командной строке, например:

vcregress check serial

За дополнительными сведениями о регрессионных тестах обратитесь к Главе 30.

Для запуска регрессионных тестов клиентских программ с помощью команды «vcregress bincheck» должен быть установлен дополнительный модуль Perl:

IPC::Run

На момент написания документации модуль IPC::Run не включается ни в инсталляцию Perl ActiveState, ни в библиотеку ActiveState PPM (Perl Package Manager, Менеджер пакетов Perl). Чтобы установить его, загрузите архив исходного кода IPC-Run-<version>.tar.gz из CPAN, по адресу https://metacpan.org/release/IPC-Run/, и распакуйте его. Откройте файл buildenv.pl и добавьте в него переменную PERL5LIB, указывающую на подкаталог lib из извлечённого архива. Например:

$ENV{PERL5LIB}=$ENV{PERL5LIB} . ';c:\IPC-Run-0.94\lib';

16.1.6. Сборка документации

Для сборки документации PostgreSQL в формате HTML требуются дополнительные инструменты и файлы. Создайте общий каталог для всех этих файлов и сохраните их в названные подкаталоги.

OpenJade 1.3.1-2

Загрузите архив http://sourceforge.net/projects/openjade/files/openjade/1.3.1/openjade-1_3_1-2-bin.zip/download и распакуйте его в подкаталог openjade-1.3.1.

DocBook DTD 4.2

Загрузите архив с http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip и распакуйте его в подкаталог docbook.

DocBook DSSSL 1.79

Загрузите архив с http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/download и распакуйте его в подкаталог docbook-dsssl-1.79.

Сущности символов ISO

Загрузите архив с http://www.oasis-open.org/cover/ISOEnts.zip и распакуйте его в подкаталог docbook.

Добавьте в buildenv.pl переменную, задающую местоположение ранее созданного общего каталога, например:

$ENV{DOCROOT}='c:\docbook';

Чтобы собрать документацию, запустите builddoc.bat. Обратите внимание, что при этом сборка фактически будет запущена дважды; это нужно для построения индексов. Сгенерированные HTML-файлы окажутся в каталоге doc\src\sgml.

Настройка программ для Windows XP

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья
  • 6 минут на чтение

Visual Studio поддерживает наборы инструментов для нескольких платформ. Это означает, что можно ориентироваться на операционные системы и библиотеки времени выполнения, которые не поддерживаются набором инструментов по умолчанию. Например, переключив набор инструментов платформы, вы можете использовать компилятор Visual Studio 2017 C++ для создания приложений, предназначенных для Windows XP и Windows Server 2003. Вы также можете использовать наборы инструментов более старых платформ для поддержки устаревшего кода, совместимого с двоичными файлами, и по-прежнему использовать преимущества новейшие функции интегрированной среды разработки Visual Studio.

Набор инструментов, входящий в состав Visual Studio 2019 и более поздних версий, не включает поддержку создания кода для Windows XP. Поддержка разработки для Windows XP доступна с помощью набора инструментов Visual Studio 2017 v141_xp. Вы можете установить набор инструментов v141_xp как отдельный компонент в установщике Visual Studio.

Установка набора инструментов платформы Windows XP

Чтобы получить набор инструментов и компоненты платформы Visual Studio 2017 для Windows XP и Windows Server 2003, запустите установщик Visual Studio. При первоначальной установке Visual Studio или при изменении существующей установки убедитесь, что Выбрана настольная разработка с рабочей нагрузкой C++ . В списке дополнительных компонентов для этой рабочей нагрузки выберите Поддержка Windows XP для C++ , а затем выберите Установить или Изменить .

Чтобы получить набор инструментов и компонентов платформы v141_xp для Windows XP и Windows Server 2003, запустите программу установки Visual Studio. При первоначальной установке Visual Studio или при изменении существующей установки убедитесь, что разработка Desktop с помощью C++ 9Выбрана рабочая нагрузка 0026. На вкладке Отдельные компоненты в разделе Компиляторы, инструменты сборки и среды выполнения выберите C++ Поддержка Windows XP для инструментов VS 2017 (v141) [Устарело] , а затем выберите Установить или Изменить .

Ориентированность на Windows XP

Набор инструментов платформы Windows XP, включенный в Visual Studio, представляет собой версию Windows 7 SDK, но использует компилятор Visual Studio 2017 C++. Он также настраивает свойства проекта на соответствующие значения по умолчанию, например, спецификацию совместимого компоновщика для таргетинга нижнего уровня. Только настольные приложения Windows, созданные с помощью набора инструментов платформы Windows XP, могут работать в Windows XP и Windows Server 2003. Эти приложения также могут работать в более поздних операционных системах Windows.

Для Windows XP

  1. В обозревателе решений откройте контекстное меню своего проекта и выберите Свойства .

  2. В диалоговом окне Страницы свойств для проекта установите в раскрывающемся списке Конфигурация значение Все конфигурации .

  3. Выберите страницу свойств Configuration Properties > General . Установите набор инструментов платформы к предпочитаемому вами набору инструментов Windows XP. Например, выберите Visual Studio 2017 — Windows XP (v141_xp) , чтобы создать код для Windows XP и Windows Server 2003 с помощью компилятора Microsoft C++ из Visual Studio 2017.

Поддержка среды выполнения C++

Наряду с набором инструментов платформы Windows XP несколько библиотек включают поддержку среды выполнения для Windows XP и Windows Server 2003:

  • Универсальная библиотека среды выполнения C (UCRT)
  • Стандартная библиотека C++
  • Библиотека активных шаблонов (ATL)
  • Библиотека времени выполнения параллелизма (ConcRT)
  • Библиотека параллельных шаблонов (PPL)
  • Библиотека базовых классов Microsoft (MFC)
  • Библиотека C++ AMP (ускоренное массовое программирование на C++).

Минимальные поддерживаемые версии этих операционных систем: Windows XP с пакетом обновления 3 (SP3) для x86, Windows XP с пакетом обновления 2 (SP2) для x64 и Windows Server 2003 с пакетом обновления 2 (SP2) для x86 и x64.

Эти библиотеки поддерживаются наборами инструментов платформы, установленными Visual Studio, в зависимости от цели:

Библиотека Набор инструментов платформы по умолчанию, предназначенный для настольных приложений Windows Набор инструментов платформы по умолчанию, предназначенный для приложений Магазина Набор инструментов платформы Windows XP для Windows XP, Windows Server 2003
ЭЛТ х х х
Стандартная библиотека C++ х х х
АТЛ х х х
ConcRT/PPL х х х
МФЦ х х
С++ AMP х х

Примечание

Приложения, написанные на C++/CLI и предназначенные для . NET Framework 4, работают в Windows XP и Windows Server 2003.

Различия между наборами инструментов

Из-за различий в поддерживаемых платформах и библиотеках опыт разработки приложений, использующих набор инструментов платформы Windows XP, не такой полный, как для приложений, использующих набор инструментов платформы по умолчанию.

  • Возможности языка C++

    В приложениях, использующих набор инструментов платформы v141_xp, поддерживаются только функции языка C++, реализованные в Visual Studio 2017. В приложениях, использующих набор инструментов платформы v140_xp, поддерживаются только функции языка C++, реализованные в Visual Studio 2015. Visual Studio использует соответствующий компилятор при сборке с использованием старых наборов инструментов платформы. Используйте самый последний набор инструментов для платформы Windows XP, чтобы воспользоваться преимуществами новейших функций языка C++, реализованных в этой версии компилятора. Дополнительные сведения о поддержке функций языка в зависимости от версии компилятора см. в статье о соответствии языка Microsoft C/C++.

  • Удаленная отладка

    Удаленная отладка в Windows XP или Windows Server 2003 не поддерживается удаленными средствами для Visual Studio. Для локальной или удаленной отладки приложения в Windows XP или Windows Server 2003 используйте отладчик из более старой версии Visual Studio. Это похоже на отладку приложения в Windows Vista: Vista — это цель среды выполнения набора инструментов платформы, но не цель для удаленной отладки .

  • Статический анализ

    Наборы инструментов платформы Windows XP не поддерживают статический анализ. Аннотации SAL для Windows 7 SDK и библиотеки времени выполнения несовместимы. Вы по-прежнему можете запускать статический анализ в приложении, которое поддерживает Windows XP или Windows Server 2003. Временно переключите решение на набор инструментов платформы по умолчанию для анализа, а затем снова переключитесь на набор инструментов платформы Windows XP, чтобы построить приложение.

  • Отладка графики DirectX

    Отладчик графики не поддерживает API Direct3D 9. Его нельзя использовать для отладки приложений, использующих Direct3D в Windows XP или Windows Server 2003. Однако, если приложение реализует альтернативный модуль визуализации на основе API Direct3D 10 или Direct3D 11, вы можете использовать отладчик графики для диагностики проблем.

  • Здание HLSL

    Набор инструментов Windows XP по умолчанию не компилирует файлы исходного кода HLSL. Чтобы скомпилировать файлы HLSL, загрузите и установите пакет SDK DirectX за июнь 2010 г., а затем включите его в каталоги VC проекта. Дополнительные сведения см. в разделе «DirectX SDK не регистрирует пути включения/библиотеки в Visual Studio 2010» на странице загрузки DirectX SDK за июнь 2010 г. (ссылка в архиве).

Развертывание Windows XP

Важно

Из-за отсутствия поддержки сертификатов подписи кода SHA-256 поддержка библиотеки времени выполнения для Windows XP больше не доступна в последних распространяемых компонентах Visual C++ для Visual Studio 2015, 2017, 2019 и 2022. Последний распространяемый компонент для поддержки Windows XP, поставляемый в составе Visual Studio 2019 версии 16.7. Используйте распространяемый компонент с версией файла, начинающейся с 14.27 . Если ваши приложения для Windows XP развернуты или обновлены до более поздней версии распространяемого компонента, приложения не будут работать.

Если вы используете более позднюю версию Visual Studio, чем Visual Studio 2019 версии 16.7, распространяемые файлы не будут работать в Windows XP. Чтобы получить копию распространяемых файлов, поддерживающих Windows XP, вам потребуется учетная запись Visual Studio. Используйте учетную запись, которую вы используете для входа в Visual Studio. Или вы можете бесплатно создать учетную запись на my.visualstudio.com. Распространяемый файл доступен в разделе «Загрузки» как распространяемый файл Visual C++ для Visual Studio 2019 — версия 16.7. Чтобы загрузить файлы, выберите нужную платформу и язык, а затем нажмите кнопку «Загрузить».

Вы можете использовать централизованное развертывание или локальное развертывание, чтобы установить поддержку библиотеки времени выполнения для вашего приложения Windows XP. Дополнительные сведения см. в разделе Пошаговое руководство. Развертывание приложения Visual C++ с помощью распространяемого пакета Visual C++.

Обратная связь

Просмотреть все отзывы о странице

visual studio — Как скомпилировать приложение C++ для Windows XP в MSVS?

спросил

Изменено
5 месяцев назад

Просмотрено
2к раз

Пока я читал эту статью, достаточно загрузить самую последнюю версию MSVS 2022, а затем установить набор инструментов C++ Поддержка Windows XP для инструментов VS 2017 (v141) [Устарело] .

После этого в Visual Studio в свойствах проекта я устанавливаю этот набор инструментов. Согласно связанной статье, достаточно скомпилировать приложение C++ с поддержкой XP.

Но после создания файла .exe , если я запускаю его на 64-разрядной версии XP SP2, появляется ошибка, что функция CompareStringEx не найдена в KERNEL32.DLL .

Следовательно, недостаточно использовать этот набор инструментов. Нужно что-то еще.

В некоторых других местах я вижу, что нужно также добавить define /D_USING_V110_SDK71_ при компиляции и опцию /SUBSYSTEM:CONSOLE,5.01 при компоновке. В свойствах моего проекта я тоже пытался добавить эти две опции, но все равно CompareStringEx находится внутри таблицы импорта конечного приложения.

Как предложил @BenVoigt, я определил /DWINVER=0x0502 /D_WIN32_WINNT=0x0502 . Также установите стандарт C++ на /std:c++14 (я бы установил C++11, но эта версия MSVS позволяет установить как минимум только C++14). Тем не менее, некоторые символы, отличные от XP, остаются в финальном EXE-файле, например InitializeSRWLock, который, возможно, используется std::mutex C++11 в моем коде.

Кто-нибудь знает все, что нужно для компиляции полностью XP-совместимого приложения?

Обновление . Мне удалось создать работающее приложение XP, выполнив описанные выше действия, а также установив среду выполнения C++ CRT на Multi Threaded DLL , т.е. используя динамическую связь DLL с CRT. Также, как было предложено @ChuckWalbourn (в редистах x86 или x64), я загрузил более старую версию msvcp140.dll .

Но для моего проекта очень важно иметь статически связанную среду выполнения (C++ CRT), т.е. использовать значение Multi Threaded для поля Runtime в свойствах проекта. Только если это ДЕЙСТВИТЕЛЬНО не возможно только тогда я буду использовать DLL CRT. До тех пор приветствуется решение о том, как статически связать CRT, конечно, для создания XP-совместимого EXE.

  • c++
  • Visual-Studio
  • Visual-C++
  • windows-xp
  • совместимость

29

TL;DR Для поддержки REDIST VC++ в Windows XP установите https://aka.ms/vs/15/release/VC_redist.x86.exe в системе Windows XP

-или-

, если вы делаете «параллельное локальное развертывание приложений», затем используйте библиотеки DLL из C:\Program Files\Microsoft Visual Studio\2022\\VC\Redist\MSVC\14.16.27012\x86\Microsoft.VC141.CRT .

Если вам нужны последние исправления ошибок в CRT, вы также можете загрузить REDIST для VS 2019 (16.7) по ссылке в Microsoft Docs.

Для таргетинга на Windows XP вы используете набор инструментов платформы v141_xp , установленный Visual Studio (VS 2017, VS 2019 или VS 2022), который является последним компилятором C++ VS 2017 ( v141 ) с использованием включенного Windows 7. 1A SDK. .

Убедитесь, что вы установили (для VS 2022) следующие отдельные компоненты, так как вы используете MFC:

  • Microsoft.VisualStudio.Component.WinXP : C++ Поддержка Windows XP для инструментов VS 2017 (v141) [Устарело]
  • Microsoft.VisualStudio.Component.VC.v141.x86.x64 : MSVC v141 — инструменты сборки VS 2017 C++ x64/x86 (v14.16)
  • Microsoft.VisualStudio.Component.VC.v141.MFC : C++ MFC для инструментов сборки v141 (x86 и x64)

Если вы занимаетесь разработкой DirectX, обязательно прочитайте эту запись в блоге, чтобы узнать о различных последствиях использования Windows 7.1A SDK.

Для развертывания в Windows XP можно установить последнюю версию VS 2017 Visual C++ REDIST или использовать VS 2019 Visual C++ до версии VS 2019 (16.7). После этого сами библиотеки REDIST несовместимы с Windows XP .

В вашей системе разработки с установленным VS 2022 у вас будет более новый набор файлов Visual C++ REDIST, которые бинарно совместимы с вашим v141_xp набором инструментов платформы, созданным EXE, но эти DLL VC++ REDIST не совместимы с Windows ХР.