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. Сборка документации
- 16.1.2. Специальные замечания для 64-битной Windows
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
Редактировать
Твиттер
Фейсбук
Электронная почта
- Статья
- 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
В обозревателе решений откройте контекстное меню своего проекта и выберите Свойства .
В диалоговом окне Страницы свойств для проекта установите в раскрывающемся списке Конфигурация значение Все конфигурации .
Выберите страницу свойств 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\
.
Если вам нужны последние исправления ошибок в 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 ХР.