Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250

makefile

28.01.2010, 21:01. Показов 2435. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подправьте makefile pleace

Code
1
2
3
4
5
6
7
8
9
10
11
complex.o: complex.h complex.cpp
    g++ complex.h complex.o -c -fPIC
 
libcomplex.so: complex.o
    g++ -shared -o libcomplex.so complex.o
 
main.o: main.cpp complex.h
    g++ -c main.cpp
 
res : main.o complex.so
    g++ main.o -L. -lcomplex -o res
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2010, 21:01
Ответы с готовыми решениями:

При запуске Makefile выдается ошибка "Makefile:2: recipe for target 'all' failed"
решила поучиться собирать проекты через мэйкфайлы. Пожалуйста, помогите разобраться all: g++ main.cpp -o philBlock.o ...

Makefile
Не могли бы вы мне помочь написать makefile? У меня для примера в makefile есть переменная с именами файлов "main.cpp"...

Создание makefile
Приветствую, написал бублиотеку, хочу использовать ее в программе, библиотека храниться в папке library, файлы transferline.cpp,...

6
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
28.01.2010, 21:23
Цитата Сообщение от breate Посмотреть сообщение
g++ complex.h complex.o -c -fPIC
Ты хочешь скомпилить заголовочный файл, к тому же пропущена опция -o.
2
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
28.01.2010, 21:27
А еще первой строкой дописать:
Code
1
all: res
2
 Аватар для breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
29.01.2010, 02:35  [ТС]
я хочу скомпилировать класс, зануть его в шаред обжект , а потом прилинковать к майну, это мой первый мэйкфайл, он мне даёт ошибку

Bash
1
make: *** Нет правила для сборки цели `complex.so', требуемой для `res'.  Останов.
в предыдущей моей теме "extern class" можно увидеть сам класс и майна, способ которым там пытался не работает!

если кто напишет как вообще надо это делать буду очень благодарен

Добавлено через 4 часа 30 минут
нашел все ошибки
1.

Цитата Сообщение от breate Посмотреть сообщение
g++ complex.h complex.o -c -fPIC
2.


Цитата Сообщение от breate Посмотреть сообщение
res : main.o complex.so
правильный мэйк

Code
1
2
3
4
5
6
7
8
9
10
11
complex.o: complex.h complex.cpp
    g++ complex.h complex.cpp -c -fPIC
 
libcomplex.so: complex.o
    g++ -shared -o libcomplex.so complex.o
 
main.o: main.cpp complex.h
    g++ -c main.cpp
 
res : main.o libcomplex.so
    g++ main.o -L. -lcomplex -o res
З.Ы.
зачем
Цитата Сообщение от odip Посмотреть сообщение
all: res
я так и не понял ...

Добавлено через 3 минуты
можно в мэйке ещё дописать

Code
1
2
3
4
5
clean:
    rm -f complex.h.gch
    rm -f complex.o
    rm -f main.o
    strip -s res
потом
Bash
1
$make clean
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.01.2010, 10:54
Цитата Сообщение от breate Посмотреть сообщение
зачем
Цитата:
Сообщение от odip
all: res
all - основная цель. без нее make не в курсе что от чего зависит, и в какой последовательности собирать. т.е. именно твой случай.

Добавлено через 2 минуты
кстати тут хороший док: http://www.linux.org.ru/books/GNU/Gmake.htm
но почему-то в данный момент он недоступен. может какие-то работы на сервере. возможно позже появится.
1
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
29.01.2010, 14:39
Чтобы собрать программу с помощью файла из 1-го поста нужно набирать: make res
Если добавить первую цель all, тогда для сборки будет достаточно: make
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
29.01.2010, 14:56
Мне всегда казалось, что make без параметров начинает работать с самой первой целью, и необязательно, чтобы она all называлась. А all - это типа так принято

breate, не "g++ complex.h complex.cpp -c -fPIC", а "g++ complex.cpp -c -fPIC". Предполагаю, что в complec.cpp у тебя есть #include "complex.h"

Можешь почитать тему про автоматическое построение зависимостей от .h файлов: Makefile: как с использованием gcc строить автоматические зависимости от .h файлов?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2010, 14:56
Помогаю со студенческими работами здесь

Неправильный Makefile
Здравствуйте! Пытаюсь сделать Makefile, но выдает ошибку: ../obj/EasyGL.cpp make: ../obj/EasyGL.cpp: Command not found make: *** ...

Makefile debugger
Добрый день. Имеется проект из 3-х файлов, main.cpp, include/cgi.h, include/cgi.cpp. Естественно из main.cpp инклудим cgi.h. Для...

Упрощение MakeFile-а
Вечер добрый! Я в инете откопал библиотеку f03gl для использования OpenGL с Фортраном в Линуксе. Удобство либы заключается в том, что её не...

Makefile внешний каталог
Доброго времени суток. Пишу программку под Линукс. С простыми makefile'ами я вроде разобрался(когда файлы лежат в одном каталоге). Но что...

Не правильная работа makefile
Здравствуйте, создаю для сборки программы makefile с таким содержанием: compile: g++ -fPIC -c /home/kobaeugenea/project/cprogram.cpp...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru