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

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

19.11.2016, 15:57. Показов 5714. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru