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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 167, средняя оценка - 4.96
хАЛЕКСЕЙх
 Аватар для хАЛЕКСЕЙх
8 / 8 / 2
Регистрация: 11.10.2012
Сообщений: 118
#1

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

12.10.2012, 09:01. Просмотров 22190. Ответов 76
Метки нет (Все метки)

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

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

Как мне его скомпилировать через командную строку, или подскажите мне код ( .bat )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 09:01     Компиляция программы из файла cpp через командную строку
Посмотрите здесь:

C++ Есть задача. Нужно запустить её через командную строку
C++ Запуск через командную строку с параметрами
Передача символов через командную строку C++
C++ Запуск Gnu через командную строку
C++ Не создает exe, как запустить через командную строку с указанием имя файла
Считать из файла и вывести в командную строку C++
C++ Вывод текста описания команд в консоль командной строки при запуске программы через командную строку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 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++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.10.2012, 19:10     Компиляция программы из файла cpp через командную строку #66
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream). Т.е. у вас бы и без windows.h прокатило. А так стандарт не гарантирует, какие заголовочные файлы в каких подключаются, так что правильнее всего напрямую подключать файл, в котором используется что-либо, что он предоставляет.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 2
Завершенные тесты: 1
12.10.2012, 19:14     Компиляция программы из файла cpp через командную строку #67
Цитата Сообщение от silent_1991 Посмотреть сообщение
хАЛЕКСЕЙх, это потому, что где-то ещё подключается cstdlib (скорее всего, в iostream). Т.е. у вас бы и без windows.h прокатило. А так стандарт не гарантирует, какие заголовочные файлы в каких подключаются, так что правильнее всего напрямую подключать файл, в котором используется что-либо, что он предоставляет.
Подключен только iostream:
Компиляция программы из файла cpp через командную строку
silent_1991
Эксперт C++
4949 / 3025 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.10.2012, 19:15     Компиляция программы из файла cpp через командную строку #68
Croessmah, ну, возможно, stdlib.h подключается в windows.h.
go
Эксперт C++
3584 / 1364 / 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
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 07:38     Компиляция программы из файла cpp через командную строку #73
Цитата Сообщение от хАЛЕКСЕЙх Посмотреть сообщение
Я что-то опять не то сделал???
Программа компилируется? Если да, то всё то. Если у вас файл main.cpp находится в папке С:\Users\Алексей, то необязательно пути для файлов прописывать. Достаточно в командной строке набрать: g++ main.cpp Исполняемый файл будет создан в этой же папке. Для начала этого вполне достаточно. Сосредоточьтесь лучше не программировании. А если захотите побольше узнать о компиляторе, скачайте эту книгу и почитайте: "GCC._Полное_руководство_(Гриффитс)(2004)"
go
Эксперт C++
3584 / 1364 / 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
5410 / 4806 / 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 через командную строку
Еще ссылки по теме:

Компиляция файла cpp C++
C++ Как открыть программу написанную на c++ через командную строку, если в пути программы есть пробелы
C++ Компиляция .cpp-файлов из программы
C++ Ошибка при запуске приложения через командную строку
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 через командную строку
Ответ Создать тему
Опции темы

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