Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/513: Рейтинг темы: голосов - 513, средняя оценка - 4.60
 Аватар для хАЛЕКСЕЙх
9 / 9 / 3
Регистрация: 11.10.2012
Сообщений: 118

Компиляция программы из файла cpp через командную строку

12.10.2012, 09:01. Показов 100698. Ответов 79
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим я написал этот код в стандартном виндовском блокноте

C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main(){
    std::cout << "Hello, world!";
 
system("pause");
return 0;
}
и назвал я его "main.cpp"

Как мне его скомпилировать через командную строку, или подскажите мне код ( .bat )
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2012, 09:01
Ответы с готовыми решениями:

Как в windows сделать динамическую библиотеку из файлов .cpp через командную строку ?
Здраствуйте, вопрос состоит в следующем, как у Виндовс через командную строку сделать динамеческую библиотеку из файлов .cpp. ...

Как открыть программу написанную на c++ через командную строку, если в пути программы есть пробелы
путь программы C:\la la\ve.exe пишу в командной строке: start C:\la la\ve.exe и выдает такое windows не может найти...

Не создает exe, как запустить через командную строку с указанием имя файла
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;locale&gt; #include &lt;stdlib.h&gt; using namespace std; void...

79
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
12.10.2012, 18:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
если я введу
Bash
1
C:\Users\Алексей>g++ C:\Users\Алексей\main.cpp -o C:\Users\Алексей\main.exe
это правильно?
Если пудь до g++ прописан, то да.

Добавлено через 2 минуты
если Вы попытаетесь скомпилировать код, который написали ранее:
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main(){
    std::cout << "Hello, world!";
 
system("pause");
return 0;
}
То будет ошибка. Для функции system необходимо подключить windows.h
1
12.10.2012, 18:55

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
То будет ошибка. Для функции system необходимо подключить windows.h
cstdlib

1
 Аватар для хАЛЕКСЕЙх
9 / 9 / 3
Регистрация: 11.10.2012
Сообщений: 118
12.10.2012, 19:01  [ТС]
У меня получилось!!! Всем спасибо, всем поставлю like

И наконец долгожданная картинка
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
12.10.2012, 19:03
Цитата Сообщение от soon Посмотреть сообщение

Не по теме:


cstdlib

тьфу...точно =)
0
 Аватар для хАЛЕКСЕЙх
9 / 9 / 3
Регистрация: 11.10.2012
Сообщений: 118
12.10.2012, 19:07  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Не по теме:
cstdlib
у меня и с <windows.h> прокатило
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
12.10.2012, 19:10
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream). Т.е. у вас бы и без windows.h прокатило. А так стандарт не гарантирует, какие заголовочные файлы в каких подключаются, так что правильнее всего напрямую подключать файл, в котором используется что-либо, что он предоставляет.
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
12.10.2012, 19:14
Цитата Сообщение от silent_1991 Посмотреть сообщение
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream). Т.е. у вас бы и без windows.h прокатило. А так стандарт не гарантирует, какие заголовочные файлы в каких подключаются, так что правильнее всего напрямую подключать файл, в котором используется что-либо, что он предоставляет.
Подключен только iostream:
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
12.10.2012, 19:15
Croessmah, ну, возможно, stdlib.h подключается в windows.h.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.10.2012, 19:40
Цитата Сообщение от Croessmah Посмотреть сообщение
system("pause");
Какой смысл, если запускать из под консоли? А консольные приложения все необходимо запускать из консоли.
Цитата Сообщение от silent_1991 Посмотреть сообщение
ну, возможно, stdlib.h подключается в windows.h.
Так оно и есть.

Добавлено через 4 минуты
Цитата Сообщение от silent_1991 Посмотреть сообщение
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream).
И это тоже, но тогда
C++
1
std::system


Добавлено через 6 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
Подключен только iostream:
Ну а у меня нечто подобное
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
‘‚@ANDREY-PC /c/MinGW
$ g++ abc.cpp -o abc
 
‘‚@ANDREY-PC /c/MinGW
$ abc
 
‘‚@ANDREY-PC /c/MinGW
$ cat abc.cpp
#include <iostream>
 
int main ()
{       
        system("");
        return 0;
}               
‘‚@ANDREY-PC /c/MinGW
$
0
545 / 344 / 12
Регистрация: 05.11.2010
Сообщений: 1,076
Записей в блоге: 1
12.10.2012, 21:29
Ну вы тут устроили гадание, я же в своем посте четко одним из пунктов написал - создать переменную MINGW_HOME.
c:\MinGw\include;c:\MinGw\lib
Интересно, какое назначение, по-твоему, имеют данные пути, включенные в path.
0
 Аватар для хАЛЕКСЕЙх
9 / 9 / 3
Регистрация: 11.10.2012
Сообщений: 118
13.10.2012, 05:41  [ТС]
Цитата Сообщение от go Посмотреть сообщение
‘‚@ANDREY-PC /c/MinGW
$ g++ abc.cpp -o abc
‘‚@ANDREY-PC /c/MinGW
$ abc
‘‚@ANDREY-PC /c/MinGW
$ cat abc.cpp
#include <iostream>
int main ()
{
system("");
return 0;
}
‘‚@ANDREY-PC /c/MinGW
$
Это куда прописывать надо в main.cpp, или в командную строку???
Цитата Сообщение от Герц Посмотреть сообщение
Ну вы тут устроили гадание, я же в своем посте четко одним из пунктов написал - создать переменную MINGW_HOME.
c:\MinGw\include;c:\MinGw\lib
Интересно, какое назначение, по-твоему, имеют данные пути, включенные в path.
Герц, у меня в WINGW_HOME прописано вот так
Bash
1
C:\MinGW
в Path прописано вот так
Bash
1
c:\MinGW\bin;
Добавлено через 46 секунд
Я что-то опять не то сделал???
0
13.10.2012, 06:31

Не по теме:

На линуксе все проще, пути устанавливать не надо, компилятор скорее всего уже в системе есть:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
User@intel ~/temp
$ cat > main.cpp
#include <iostream>
int main() { std::cout << "Hello, World!" << std::endl; }
 
User@intel ~/temp
$ make main
g++     main.cpp   -o main
 
User@intel ~/temp
$ ./main
Hello, World!
 
User@intel ~/temp
$
То же самое можно выполнить и под виндой в MSYS Shell, единственное, что MinGW'ный bin в PATH все-таки придется добавить руками

0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 07:38
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
Я что-то опять не то сделал???
Программа компилируется? Если да, то всё то. Если у вас файл main.cpp находится в папке С:\Users\Алексей, то необязательно пути для файлов прописывать. Достаточно в командной строке набрать: g++ main.cpp Исполняемый файл будет создан в этой же папке. Для начала этого вполне достаточно. Сосредоточьтесь лучше не программировании. А если захотите побольше узнать о компиляторе, скачайте эту книгу и почитайте: "GCC._Полное_руководство_(Гриффитс)(2004 )"
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
13.10.2012, 15:41
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
Это куда прописывать надо в main.cpp, или в командную строку???
Попробуй
Bash
1
2
3
4
5
6
7
‘‚@ANDREY-PC ~
$ c++
c++.exe: fatal error: no input files
compilation terminated.
 
‘‚@ANDREY-PC ~
$
Если компилятор есть и пути указаны верно, то будет что-то вроде этого.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 18:17
У ТС всё компилируется - 63 пост.
0
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 1
15.09.2015, 15:35
1) запускаешь Visual Studia Comand Promt от администратора
2)сначала указываешь путь к файлу, где он хранится и переходишь в этот каталог
cd <путь к файлу> (без фигурных скобок)
3)Далее пишешь cl -GX "Имя файла.cpp" (кавычки можно не ставить, если файл в имени без пробела. cl - это команда компиляция. -GX параметр для повышения качества компиляции)
У тебя создастся exe и obj файлы.
4) Чтобы теперь запустить программу достаточно ввести имя файла без расширения "Имя файла"
5) наслаждаться
Источник: https://msdn.microsoft.com/ru-... 84838.aspx
0
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 9
30.11.2015, 22:24
Народ . Прочитал я эту тему , вроде всё норм получается , но вопросы остались . Как заставить компилятор видеть что моя прога находится на рабочем столе ? Ну типо открыл консоль в любой папке , написал g++ qwerty.cpp , и компилятор тебе всё скомпилил . Сейчас у меня вот так выходит как на скрине . Я думал достаточно добавить в переменную path адрес рабочего стола , но не вышло .
Миниатюры
Компиляция программы из файла cpp через командную строку  
0
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 4
22.07.2017, 23:39
Ну почему никто не помог!? Мне нужен код!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12848 / 7597 / 1766
Регистрация: 25.07.2009
Сообщений: 13,985
23.07.2017, 00:07
Цитата Сообщение от NotMyNickname Посмотреть сообщение
Я думал достаточно добавить в переменную path адрес рабочего стола , но не вышло
В path ищется путь к исполняемому файлу.
Code
1
2
cd \Users\NotMyNickname\Desktop
g++ qwerty.cpp
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
23.07.2017, 00:23
Цитата Сообщение от ЮрийМ Посмотреть сообщение
Ну почему никто не помог!? Мне нужен код!
особенное внимание обратите на 3й пункт сверху.
Миниатюры
Компиляция программы из файла cpp через командную строку  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2017, 00:23

Вывод текста описания команд в консоль командной строки при запуске программы через командную строку
Всем привет! Есть такая программка которая запускается через командную строку с параметром, например : C:\папка\spectr.exe /А ...

Компиляция .cpp-файлов из программы
Доброго времени суток! Имеется VS 2013 и .cpp файлы. Задача - написать свою программу, которая будет по очереди компилировать эти файлы,...

Компиляция файла cpp
Ситуация: среды visual studio нет и не будет. Имеется файл с расширением cpp. Как его скомпилировать через командную строку? С cs все...

Передача символов через командную строку
Доброго времени суток! Прошу помочь мне с решением данной задачи: Через командную строку передать два символа. Распечатать символ с...

Запуск Gnu через командную строку
Здравствуйте, у меня возникла проблема такая интересная (лично для меня :D), вобщем до недавнего времени я занимался паскалем и решил...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru