Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
#1

Что такое make-файлы и с чем их едят? - C++

26.08.2010, 14:26. Просмотров 2219. Ответов 17
Метки нет (Все метки)

Создаю makefile с именем hello.mak,
Код
# Компиляция Hello, World
CPP = "c:\programm files\dev-cpp\bin\g++"
hello.exe: hello.cpp
$(CPP) hello.cpp
batch файл:
Код
"c:\program files\dev-cpp\bin\make" -f "hello.mak"
pause
Скажите правильно ли я делаю.
При запуске bathc файла ни чё не компилируется!

Выдоётся такое сообщение:
"c:\program files\dev-cpp\bin\make: Nothing to be done for 'hello.exe'."
http://www.cyberforum.ru/cpp-beginners/thread169851.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2010, 14:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что такое make-файлы и с чем их едят? (C++):

что такое Qt, и с чем его едят?
Здравствуйте, я бы хотел узнать что такое Qt, и как на нем программировать, я...

Что такое функции и с чем их едят?
Составить подпрограмму сортировки элементов столбца. С возможностью выбора...

Модуль: что такое и с чем его едят?
есть задание: что есть модуль, как он создается и как подключается?...

Что такое Класс, и с чем его едят?
собственно это я бы и хотел знать. попытался воспринять самостоятельно - не...

Что такое istream и с чем его едят?
здравствуйте. у меня такой вопрос , делаем лабы с перечислениями и структурами...

17
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.08.2010, 14:55 #2
Цитата Сообщение от Mencey Посмотреть сообщение
c:\programm files\dev-cpp\bin\g++
Цитата Сообщение от Mencey Посмотреть сообщение
c:\program files\dev-cpp\bin\make
у вас опечаточка
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 15:01  [ТС] #3
fasked, в файле всё нормально сдесь я просто в ручную печатал
0
Евгений М.
1047 / 986 / 98
Регистрация: 28.02.2010
Сообщений: 2,858
Завершенные тесты: 2
26.08.2010, 15:19 #4
Вот примерчик:
Код
#
#  makefile : GNU make
#

CC = gcc
LIBS = -lcurldll
LFLAGS = -Wall -o


all: vk.exe

%.exe: %.c
	$(CC) $(LFLAGS) $@ $< $(LIBS) 

myvk.exe: vk.c
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 15:21  [ТС] #5
Вы мне помогите с моим примером разобраться. А то я только вчера про make-файлы узнал!
Евгений М., если честно то в вашем проимере я ничего непонял.
0
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.08.2010, 15:38 #6
Цитата Сообщение от Mencey Посмотреть сообщение
если честно то в вашем проимере я ничего непонял.
ну вот минимальный:
Код
# Компиляция Hello, World

CC = g++
hello.o: hello.cpp 
	$(CC) hello.cpp
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 15:51  [ТС] #7
А почему мой то неработает!

Добавлено через 4 минуты
Вот так заработало только не одного файла в include не находит:
Код
# компиляция Hello, World
CPP = "C:\Program Files\Dev-Cpp\bin\g++"
hello.o: hello.cpp
	$(CPP) hello.cpp
Добавлено через 5 минут
У меня появилось куча вопросов
1) Почему не создаються объектные файлы?
2) Как скомпилировать библиотку(*.lib)(тут фозможно нужны какието флаги компилятора я пока знаю только -f у утилиты make)
3) Как указать имя исполняемого файла(а то имя a.exe как-то неочень нравиться.
0
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.08.2010, 15:55 #8
Цитата Сообщение от Mencey Посмотреть сообщение
У меня появилось куча вопросов
Вопросы тривиальные, так что RTFM
0
Евгений М.
1047 / 986 / 98
Регистрация: 28.02.2010
Сообщений: 2,858
Завершенные тесты: 2
26.08.2010, 15:55 #9
1)
$(CPP) hello.cpp -o hello.o
2) Даже не знаю может ли MinGW (компилятор от Dev-Cpp) использовать.
3)
$(CPP) hello.cpp -o hello.exe
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 16:02  [ТС] #10
fasked, извиняюсь но английский очень плохо знаю. Можно ли ссылку на русскую страничку!
0
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.08.2010, 16:05 #11
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Mencey Посмотреть сообщение
извиняюсь но английский очень плохо знаю. Можно ли ссылку на русскую страничку!
вот здесь
3
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 16:34  [ТС] #12
Но как я понял там написано под Linux, а под win32 есть чтонибудь.

Добавлено через 4 минуты
Кстати когда я запускаю батч то всё компилируется но с ошибками.
Командная строка:

Код
C:\Documents and Settings\Администратор\Рабочий стол\Hello>"C:\Program Files\Dev
-Cpp\bin\make" -f "hello.mak"
cc   hello.o   -o hello
process_begin: CreateProcess((null), cc hello.o -o hello, ...) failed.
make (e=2): ═х єфрхЄё* эрщЄш єърчрээ√щ Їрщы.
C:\Program Files\Dev-Cpp\bin\make: *** [hello] Error 2

C:\Documents and Settings\Администратор\Рабочий стол\Hello>pause
Для продолжения нажмите любую клавишу . . .
Batch файл:
Код
"c:\program files\dev-cpp\bin\make" -f "hello.mak"
pause
Make файл:
Код
#
# Make файл Hello, World
#
CPP = "C:\Program Files\Dev-Cpp\bin\c++"
hello: hello.o
hello.o: hello.cpp
	$(CPP) -o hello.cpp
0
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.08.2010, 16:38 #13
Цитата Сообщение от Mencey Посмотреть сообщение
Но как я понял там написано под Linux, а под win32 есть чтонибудь.
Тут знаете ли зависит уже конкретной утилиты make. У всех есть свои ньюансы, но смысл в принципе один. Если пользоваться компилятором mingw (к слову о Win32), то руководство, ссылку на которое я привел выше, полностью подойдет.
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 16:40  [ТС] #14
А почему ошибки то вылезают я что что-то неправильно сделал или написал?
Помогите а?
0
Евгений М.
1047 / 986 / 98
Регистрация: 28.02.2010
Сообщений: 2,858
Завершенные тесты: 2
26.08.2010, 18:45 #15
Попробуйте
Код
#
# Make файл Hello, World
#
CPP = "C:\Program Files\Dev-Cpp\bin\c++"
hello: hello.o
hello.o: hello.cpp
        $(CPP) hello.cpp -o hello.o
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 20:19  [ТС] #16
Цитата Сообщение от Евгений М. Посмотреть сообщение
Попробуйте
Код
#
# Make файл Hello, World
#
CPP = "C:\Program Files\Dev-Cpp\bin\c++"
hello: hello.o
hello.o: hello.cpp
        $(CPP) hello.cpp -o hello.o
Опять ошибки, и уже exe файл не появляется:
Окно консоли:
Код
C:\Documents and Settings\Администратор\Рабочий стол\Hello>"C:\Program Files\Dev
-Cpp\bin\make" -f "hello.mak"
cc   hello.o   -o hello
process_begin: CreateProcess((null), cc hello.o -o hello, ...) failed.
make (e=2): ═х єфрхЄё* эрщЄш єърчрээ√щ Їрщы.
C:\Program Files\Dev-Cpp\bin\make: *** [hello] Error 2

C:\Documents and Settings\Администратор\Рабочий стол\Hello>pause
Для продолжения нажмите любую клавишу . . .
0
fasked
Эксперт С++
4976 / 2556 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
26.08.2010, 22:18 #17
Цитата Сообщение от Mencey Посмотреть сообщение
Опять ошибки
попробовал у себя, ошибки с CreateProcess появляются, если не установить переменные среды.
0
Mencey
150 / 97 / 12
Регистрация: 22.07.2010
Сообщений: 426
26.08.2010, 22:33  [ТС] #18
Цитата Сообщение от fasked Посмотреть сообщение
попробовал у себя, ошибки с CreateProcess появляются, если не установить переменные среды.
Пожалуйста, можете дать нормальный make-файл который бы скомпилировал мою Hello, World под Windows без всяких ошибок. А если не трудно то выложите рабочую версию с файлом программы и майк файлом!

Добавлено через 6 минут
Цитата Сообщение от Mencey Посмотреть сообщение
и уже exe файл не появляется:
Хотя вру где с десятого раза появился!
0
26.08.2010, 22:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2010, 22:33
Привет! Вот еще темы с решениями:

Что такое assoc и с чем его едят?
Объясните, пожаалуйста)

Класс-контейнер? Что это такое и с чем его «едят»?
Вечер добрый, столкнулся со следующей проблемой, в общем, есть задание: ...

Функции itoa и atoi: что это такое и с чем их едят?
Доброго времени суток! Помогите пожалуйста разобраться в функциях itoa и atoi....

Объясните что такое массив объединений и с чем его едят
Написать программу удаления заданного числового значения из массива...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru