|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
Компиляция любого файла .cpp автоматически из bat файла13.06.2018, 22:42. Показов 3593. Ответов 8
Метки нет (Все метки)
Нужно сделать универсальный bat файл, чтобы он смог компилировать файлы .cpp с разными названиями в .exe с таким же названием. Нужно удерживая левую кнопку мыши на файле.cpp переместить на bat файл. Должно появиться "открыть с помощью bat файла".
С консолью очень долго делать. Стоит windows 10. Использую MinGW (GNU GCC Compiler G++(C++)). Примерно вот так bat файл выглядит: g++ название_файла.cpp -Wall -o тоже_самое_название.exe (компилирование) тоже_самое_название.exe (для запуска) echo %errorlevel% (узнать какой return) pause (чтобы не закрывалось)
0
|
|
| 13.06.2018, 22:42 | |
|
Ответы с готовыми решениями:
8
Компиляция файла cpp Компиляция стороннего файла *.cpp Компиляция программы из файла cpp через командную строку |
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|
| 14.06.2018, 16:18 | |
|
В чем сложность?! Берете имя файла, отсекаете от него расширение, добавляя нужное, отдаете оба вышеупомянутых значения компилятору, - все то же проще сделать в bash-скрипте под MinGW. О какой универсальности идет речь?
0
|
|
|
419 / 179 / 27
Регистрация: 11.03.2018
Сообщений: 771
|
|
| 14.06.2018, 17:27 | |
|
И я спрошу: "В чем сложность?"
Команда g++ a.cpp имеет своим результатом a.exe.( может у меня какой-то неправильный g++ ? )
0
|
|
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
| 14.06.2018, 18:15 [ТС] | |
|
Если скомпилировать любой файл .cpp без -o и указания названия файла который хочешь получить, всегда будет a.exe .
0
|
|
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
||
| 14.06.2018, 18:18 [ТС] | ||
|
g++ название_файла.cpp -Wall -o тоже_самое_название.exe тоже_самое_название.exe echo %errorlevel% pause Фото если что есть, как надо сделать чтобы работало как на фото.
0
|
||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 14.06.2018, 18:59 | ||||||
Сообщение было отмечено Sark13 как решение
Решение
Sark13, если непременно командный сценарий, то примерно так (об универсальности судить не берусь):
1
|
||||||
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
| 14.06.2018, 20:07 [ТС] | |
|
Спасибо за это. Реально помогло. Я посмотрел на код что-то понял, хоть и не разбираюсь в этом. Понял, что там файл должен оканчиваться на 1, но можно сделать так, чтобы не оканчивалось на 1? Если да, то большое спасибо. Если нет, то всё равно спасибо за код. Можно писать имя файла любое но потом добавлять _1 и тогда всё тоже будет хорошо.
Для себя я там немного доработал: @echo off setlocal set "i=0" for %%i in (%*) do set /a "i+=1" if %i% neq 1 goto:eof if exist "%1" if /i "%~x1" equ ".cpp" ( g++ "%~1" -Wall -o "%~n1.exe" "%~n1.exe" echo Return = %errorlevel% strip "%~n1.exe" pause ) else ( echo ude, it is not CPP source code.pause ) endlocal exit /b Добавлено через 9 минут Спасибо за это. Почему нельзя делать имя файла через ","? Например 2,4.cpp . Для себя я там немного доработал: @echo off setlocal set "i=0" for %%i in (%*) do set /a "i+=1" if %i% neq 1 goto:eof if exist "%1" if /i "%~x1" equ ".cpp" ( g++ "%~1" -Wall -o "%~n1.exe" "%~n1.exe" echo Return = %errorlevel% strip "%~n1.exe" pause ) else ( echo ude, it is not CPP source code.pause ) endlocal exit /b Зачем там в коде 1? if exist "%1" if /i "%~x1" equ ".cpp" ( g++ "%~1" -Wall -o "%~n1.exe" "%~n1.exe"
0
|
|
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||
| 14.06.2018, 20:13 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 30.05.2017
Сообщений: 25
|
|
| 14.06.2018, 22:16 [ТС] | |
|
Ясно. Спасибо за информацию и за bat файл.
0
|
|
| 14.06.2018, 22:16 | |
|
Помогаю со студенческими работами здесь
9
Компиляция с BAT-файла
Есть три файла. файл main.cpp и Source.cpp знают только Header.h, так как он подключен. как же подключается Source.cpp [BAT ФАЙЛ] Для поиска файла и передачи найденого файла на ftp!!! Самоликвидация exe-файла (сконвертированного из bat-файла) по окончании выполнения им программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|