Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145

Компиляция в командной строке (cl.exe) под платформы Windows XP и выше

19.11.2016, 15:57. Показов 5797. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Столкнулся с проблемой что во время компиляции в командной строке, выходной файл (.exe) не запускается на Windows XP (32 бит). На некоторых форумах пишут что нужно указать PlatformToolset для Windows XP. Но будет ли программа в таком случае работать под Windows XP и выше? Или только на Windows XP? И каким образом мне нужно указать этот PlatformToolset в командной строке (cl.exe) ? И есть ли какие нибудь другие способы решения этой задачи (добавить поддержку Windows XP для программы посредством одной лишь консоли (cl.exe)) ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2016, 15:57
Ответы с готовыми решениями:

Компиляция программы на Си на командной строке Windows
Привет всем. Вопрос следующий. Скоро у меня экзамены, там будут и теория, и практика. в теоретических заданиях нам будут давать...

Компиляция в командной строке
Файл First.java package packone; class Class { public static void print () { System.out.println("Text"); ...

Компиляция в командной строке
Всем привет!!! Ребят не могу откомпилить файлик. Имеется 2 файлика директория котрых: ...

4
6 / 5 / 1
Регистрация: 06.11.2016
Сообщений: 39
20.11.2016, 11:08
иногда, если нет сложных зависимостей, достаточно поправить исполняемый файл командой
editbin /subsystem:WINDOWS,5.01 xxx.exe
или указать такой же ключ линкера (можно в конце строки cl.exe после ключа /link)
Для консольных программ "CONSOLE" вместо "WINDOWS".
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
20.11.2016, 14:22
Цитата Сообщение от marick0073 Посмотреть сообщение
Но будет ли программа в таком случае работать под Windows XP и выше?
будет.

Цитата Сообщение от marick0073 Посмотреть сообщение
И есть ли какие нибудь другие способы решения этой задачи (добавить поддержку Windows XP для программы посредством одной лишь консоли (cl.exe)) ?
проще всего задавать тулсет в солюшене проекта.

но если нужно именно из командной строки, тогда:

set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib%TEMP_MSVC_LIB_SUBD IR%;%LIB%
set CL=/D_USING_V110_SDK71_;%CL%
дефайн /D_USING_V110_SDK71_ инициирует установку хп`ишного тулсета
2
3 / 3 / 1
Регистрация: 06.07.2014
Сообщений: 145
20.11.2016, 15:31  [ТС]
То есть мне просто нужно занести эти перменные окружения:

set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib%TEMP_MSVC_LIB_SUBD IR%;%LIB%
set CL=/D_USING_V110_SDK71_;%CL%

И далее как обычно компилировать (через консоль) ?

Добавлено через 2 минуты
Не помогло.

Добавлено через 6 минут
иногда, если нет сложных зависимостей, достаточно поправить исполняемый файл командой
editbin /subsystem:WINDOWS,5.01 xxx.exe

Ввожу как вы говорите:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>editbin /subsystem:WINDOWS,5.01 1.exe
Microsoft (R) COFF/PE Editor Version 12.00.31101.0
Copyright (C) Microsoft Corporation. All rights reserved.

LINK : fatal error LNK1104: не удается открыть файл "1.exe"

Вот эту часть не очень понял:

или указать такой же ключ линкера (можно в конце строки cl.exe после ключа /link)
Для консольных программ "CONSOLE" вместо "WINDOWS".

Что именно нужно прописывать в аргументах cl.exe ?
0
6 / 5 / 1
Регистрация: 06.11.2016
Сообщений: 39
21.11.2016, 18:57
...
set CL=/D_USING_V110_SDK71_;%CL%

И далее как обычно компилировать (через консоль) ?

Добавлено через 2 минуты
Не помогло.
Думается, для WinXP еще должны быть определены
WINVER=0x501 и _WIN32_WINNT=0x501
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>editbin /subsystem:WINDOWS,5.01 1.exe
Microsoft (R) COFF/PE Editor Version 12.00.31101.0
Copyright (C) Microsoft Corporation. All rights reserved.

LINK : fatal error LNK1104: не удается открыть файл "1.exe"
Вероятно, в папке C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin отсутствует файл 1.exe
Или editbin не в курсе ваших предположений о местонахождении оного.
Вот эту часть не очень понял:

или указать такой же ключ линкера (можно в конце строки cl.exe после ключа /link)
Для консольных программ "CONSOLE" вместо "WINDOWS".

Что именно нужно прописывать в аргументах cl.exe ?
в конце строки cl.exe после ключа /link такой же ключ линкера
cl.exe тырпырвосемьдырипрочаяхренотень /link /subsystem:WINDOWS,5.01
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2016, 18:57
Помогаю со студенческими работами здесь

Компиляция в командной строке.
Ребят задание скомпилировать код в командной строке vc++ и запустить программу.Делаю так: c:\...\lab10 cl -GX user.cpp ...

Компиляция в командной строке
Всем привет! Ребят, тут вопрос такой. У меня имеется папка допустим называется "Project", в ней хранится папка "A", а в...

Компиляция программы на C# в командной строке
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace...

Компиляция кода в командной строке
на паре нам показывали как работать с прогой, написанной на ассемблере - cmd-> выбор директории -> создание объектного файла с помощью...

Не работает компиляция в командной строке
Здравствуйте. Перестали компилироваться проекты из командной строки. До этого вроде бы все было нормально. Сейчас при попытки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru