Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 24.06.2017
Сообщений: 21

Ошибка в Make-файле

01.10.2018, 22:32. Показов 1259. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте. Изучаю написание Make-файлов. Столкнулся с такой ошибкой: /usr/bin/ld cannot open output file no such file or directory
Я так понимаю файлы создаются не в той папке, и в последствии не открываются. Но вот причин найти не могу... Буду рад любой помощи.
Миниатюры
Ошибка в Make-файле   Ошибка в Make-файле  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2018, 22:32
Ответы с готовыми решениями:

Модуль ядра линукс ошибка make файла
Помогите пожалуйста.Первый раз пытаюсь написать ядро,и ничего не получается. Выдаёт ошибку: Makefile:5: *** missing separator. Stop. ...

Ошибка при использовании команды "make"
Вылезает ошибка при использовании команды "make" gcc -c -Wall -I include -F /Library/Frameworks common/framework.c -o...

Не запускается make
Решил научиться создавать make файлы, и тут же встретил проблему. При вводе в терминал "make hello" выдаёт "make: *** Нет...

6
0 / 0 / 0
Регистрация: 24.06.2017
Сообщений: 21
01.10.2018, 22:35  [ТС]
Поясню: файлы path1.o и 2 создаются в папке с make файлом, а должны вроде как в bin/myFile. Я думаю ошибка из-за этого, но могу и ошибаться...
0
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,025
01.10.2018, 23:44
Bash
1
make clean
зачем эта строчка?? получается, что вы собираете все, а потом сразу же пытаетесь удалить результаты сборки

Assembler
1
2
%.o: %.c
       gcc -c $^ -o $(bin_dir)/$@
чтобы объектники складывались в нужную вам директорию, это нужно явно указывать компилятору, собственно сам make-file здесь особенно не причем.
1
0 / 0 / 0
Регистрация: 24.06.2017
Сообщений: 21
02.10.2018, 00:28  [ТС]
Цитата Сообщение от grgdvo Посмотреть сообщение
зачем эта строчка?? получается, что вы собираете все, а потом сразу же пытаетесь удалить результаты сборки
По задумке должны удаляться только временные файлы, т.е. path1.o и path2.o. Скомпилированная программа должна оставаться. Но щас она даже не компилируется. Создаются только временные, и то не там...

Цитата Сообщение от grgdvo Посмотреть сообщение
чтобы объектники складывались в нужную вам директорию, это нужно явно указывать компилятору, собственно сам make-file здесь особенно не причем.
Вот тут я вообще в ступоре... Где ещё можно указать путь, если не в make-file?
0
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,025
02.10.2018, 01:54
Цитата Сообщение от Felester Посмотреть сообщение
По задумке должны удаляться только временные файлы, т.е. path1.o и path2.o.
Здесь немного другой смысл. Неправильно объектники называть временными файлами. Это, так сказать, промежуточное представление между исходным кодом и результирующим исполняемым файлов. Когда у вас очень большой проект и сборка его занимает минуты, а иногда и часы, то наличие УЖЕ скомпилированных файлов помогает значительно ускорить весь процесс сборки. Фишка make'а и состоит в том, что он при соблюдении некоторых условий и правил в состоянии определить, какой из файлов нужно повторно пересобирать, а какой нет. Это очень экономит время. Поэтому не надо их удалять.

Цитата Сообщение от Felester Посмотреть сообщение
Вот тут я вообще в ступоре... Где ещё можно указать путь, если не в make-file?
Я немного неверно выразился. Конечно, указывать надо именно в makefile'е. Но это непосредственно доп. параметр компилятору в командную строку. Я же вам дописал.
0
0 / 0 / 0
Регистрация: 24.06.2017
Сообщений: 21
02.10.2018, 02:27  [ТС]
Цитата Сообщение от grgdvo Посмотреть сообщение
Я же вам дописал.
Всё, разобрался с этой частью.
Цитата Сообщение от grgdvo Посмотреть сообщение
Неправильно объектники называть временными файлами
А что тогда можно так назвать при компиляции? У меня просто задание "наличие цели clean, удалающей временные файлы". Я считал что эти объектики и есть временные.
0
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,025
02.10.2018, 04:06
Цитата Сообщение от Felester Посмотреть сообщение
У меня просто задание "наличие цели clean, удалающей временные файлы". Я считал что эти объектики и есть временные.
В рамках задания соглашусь, пусть будут временные (хотя тут можно подискутировать, как это подавать для изучения).
Только если вы их сохраняете в bin_dir, вы их и удаляйте из bin_dir.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2018, 04:06
Помогаю со студенческими работами здесь

Создание make-файла
Здравствуйте. Пытаюсь создать makefile для простенького проекта, однако ничего путного пока не выходит. Есть проект из 2х модулей,...

Задать в .pro файле mingw32-make флаг
В следствие долгой компиляции некоторых проектов появилась надобность компилировать, используя все 4 ядра. В mingw32-make достаточно...

Как в командной строке (или .bat файле) прописать команду make ?
Ситуация проста. Имею три файла, два файла с++ с мейном и функцией и один заголовочник с обьявлением в нем функции. Лежат они в папке...

make / mingw32-make - сравнение скорости в многопоточном режиме (-j)
в MinGW + MSYS имеются такие файлы для сборки программ с помощью Makefile: Alex@tycoon-851de03e /home $ make -v GNU Make 3.81 ...

[Gentoo] Не могу запустить make: No rule to make target
Любой вызов make возвращает make: *** No rule to make target при запуске ./configure выводит bash: ./configure: No such file or...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru