Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 167, средняя оценка - 4.96
хАЛЕКСЕЙх
 Аватар для хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
12.10.2012, 09:01     Компиляция программы из файла cpp через командную строку #1
Допустим я написал этот код в стандартном виндовском блокноте

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

Как мне его скомпилировать через командную строку, или подскажите мне код ( .bat )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
12.10.2012, 18:53     Компиляция программы из файла cpp через командную строку #61
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
если я введу
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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
12.10.2012, 18:55
  #62

Не по теме:

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

хАЛЕКСЕЙх
 Аватар для хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
12.10.2012, 19:01  [ТС]     Компиляция программы из файла cpp через командную строку #63
У меня получилось!!! Всем спасибо, всем поставлю like

И наконец долгожданная картинка
Компиляция программы из файла cpp через командную строку
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
12.10.2012, 19:03     Компиляция программы из файла cpp через командную строку #64
Цитата Сообщение от soon Посмотреть сообщение

Не по теме:


cstdlib

тьфу...точно =)
хАЛЕКСЕЙх
 Аватар для хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
12.10.2012, 19:07  [ТС]     Компиляция программы из файла cpp через командную строку #65
Цитата Сообщение от Croessmah Посмотреть сообщение
Не по теме:
cstdlib
у меня и с <windows.h> прокатило
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.10.2012, 19:10     Компиляция программы из файла cpp через командную строку #66
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream). Т.е. у вас бы и без windows.h прокатило. А так стандарт не гарантирует, какие заголовочные файлы в каких подключаются, так что правильнее всего напрямую подключать файл, в котором используется что-либо, что он предоставляет.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
12.10.2012, 19:14     Компиляция программы из файла cpp через командную строку #67
Цитата Сообщение от silent_1991 Посмотреть сообщение
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream). Т.е. у вас бы и без windows.h прокатило. А так стандарт не гарантирует, какие заголовочные файлы в каких подключаются, так что правильнее всего напрямую подключать файл, в котором используется что-либо, что он предоставляет.
Подключен только iostream:
Компиляция программы из файла cpp через командную строку
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.10.2012, 19:15     Компиляция программы из файла cpp через командную строку #68
Croessmah, ну, возможно, stdlib.h подключается в windows.h.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.10.2012, 19:40     Компиляция программы из файла cpp через командную строку #69
Цитата Сообщение от 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
$
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
12.10.2012, 21:29     Компиляция программы из файла cpp через командную строку #70
Ну вы тут устроили гадание, я же в своем посте четко одним из пунктов написал - создать переменную MINGW_HOME.
c:\MinGw\include;c:\MinGw\lib
Интересно, какое назначение, по-твоему, имеют данные пути, включенные в path.
хАЛЕКСЕЙх
 Аватар для хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
13.10.2012, 05:41  [ТС]     Компиляция программы из файла cpp через командную строку #71
Цитата Сообщение от 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 секунд
Я что-то опять не то сделал???
Nameless One
13.10.2012, 06:31
  #72

Не по теме:

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

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 все-таки придется добавить руками

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 07:38     Компиляция программы из файла cpp через командную строку #73
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
Я что-то опять не то сделал???
Программа компилируется? Если да, то всё то. Если у вас файл main.cpp находится в папке С:\Users\Алексей, то необязательно пути для файлов прописывать. Достаточно в командной строке набрать: g++ main.cpp Исполняемый файл будет создан в этой же папке. Для начала этого вполне достаточно. Сосредоточьтесь лучше не программировании. А если захотите побольше узнать о компиляторе, скачайте эту книгу и почитайте: "GCC._Полное_руководство_(Гриффитс)(2004)"
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.10.2012, 15:41     Компиляция программы из файла cpp через командную строку #74
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
Это куда прописывать надо в main.cpp, или в командную строку???
Попробуй
Bash
1
2
3
4
5
6
7
‘‚@ANDREY-PC ~
$ c++
c++.exe: fatal error: no input files
compilation terminated.
 
‘‚@ANDREY-PC ~
$
Если компилятор есть и пути указаны верно, то будет что-то вроде этого.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 18:17     Компиляция программы из файла cpp через командную строку #75
У ТС всё компилируется - 63 пост.
Scrat98
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 1
15.09.2015, 15:35     Компиляция программы из файла cpp через командную строку #76
1) запускаешь Visual Studia Comand Promt от администратора
2)сначала указываешь путь к файлу, где он хранится и переходишь в этот каталог
cd <путь к файлу> (без фигурных скобок)
3)Далее пишешь cl -GX "Имя файла.cpp" (кавычки можно не ставить, если файл в имени без пробела. cl - это команда компиляция. -GX параметр для повышения качества компиляции)
У тебя создастся exe и obj файлы.
4) Чтобы теперь запустить программу достаточно ввести имя файла без расширения "Имя файла"
5) наслаждаться
Источник: https://msdn.microsoft.com/ru-ru/library/bb384838.aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2015, 22:24     Компиляция программы из файла cpp через командную строку
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
NotMyNickname
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 5
30.11.2015, 22:24     Компиляция программы из файла cpp через командную строку #77
Народ . Прочитал я эту тему , вроде всё норм получается , но вопросы остались . Как заставить компилятор видеть что моя прога находится на рабочем столе ? Ну типо открыл консоль в любой папке , написал g++ qwerty.cpp , и компилятор тебе всё скомпилил . Сейчас у меня вот так выходит как на скрине . Я думал достаточно добавить в переменную path адрес рабочего стола , но не вышло .
Миниатюры
Компиляция программы из файла cpp через командную строку  
Yandex
Объявления
30.11.2015, 22:24     Компиляция программы из файла cpp через командную строку
Ответ Создать тему
Опции темы

Текущее время: 11:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru