0 / 0 / 0
Регистрация: 28.10.2021
Сообщений: 3

Ошибка при сборке проекта на C. Make и Makefile

23.01.2023, 21:43. Показов 1578. Ответов 0

Студворк — интернет-сервис помощи студентам
Скачал пакет для вычисления вершин многогранника с сайта https://porta.zib.de/. При сборке проекта в папке /gnu-make выдает что-то следующее :
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
gcc -o bin/xporta porta.o four_mot.o portsort.o largecalc.o mp.o common.o arith.o inout.o log.o
/usr/bin/ld: four_mot.o:(.bss+0x168): multiple definition of `RAT_assign'; porta.o:(.bss+0x128): first defined here
/usr/bin/ld: four_mot.o:(.bss+0x60): multiple definition of `prt'; porta.o:(.bss+0x18): first defined here
/usr/bin/ld: four_mot.o:(.bss+0xe8): multiple definition of `ar2'; porta.o:(.bss+0xa0): first defined here
.....
.....
.....
/usr/bin/ld: inout.o:(.bss+0x140): multiple definition of `RAT_sub'; porta.o:(.bss+0x140): first defined here
/usr/bin/ld: inout.o:(.bss+0x148): multiple definition of `RAT_add'; porta.o:(.bss+0x148): first defined here
/usr/bin/ld: porta.o: in function `no_denom':
porta.c:(.text+0x122f): undefined reference to `cfree'
/usr/bin/ld: inout.o: in function `writepoionie':
inout.c:(.text+0x4afa): undefined reference to `cfree'
collect2: error: ld returned 1 exit status
make: *** [Makefile:24: xporta] Error 1

Если пытаться скопмилировать проект из папки src вручную, то ошибок с multiple definition нет. Думаю, что ошибка в Makefile, но не могу до конца понять, в чем конкретно, потому что использую make первый раз. Кому не трудно, помогите, пожалуйста, запустить пакет для вычислений. Буду благодарен.

Добавлено через 8 минут
Прикрепляю сам Makefile. Если кто-то подскажет, что написано после %.d: %.c, тоже буду признателен.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
CFLAGS = -O6 -g -Wall
CC     = gcc
VPATH  = ../src
 
 
LIB_MOD    = common arith inout log
#valid_MOD  = valid $(LIB_MOD)
xporta_MOD = porta four_mot portsort largecalc mp $(LIB_MOD)
#ALL_MOD    = $(valid_MOD) $(xporta_MOD)
ALL_MOD    = $(xporta_MOD)
 
 
all: xporta valid
 
valid: $(valid_MOD:%=%.d) $(valid_MOD:%=%.o)
    echo "HELLO1"
    $(CC) -o bin/$@ $(valid_MOD:%=%.o)
 
xporta: $(xporta_MOD:%=%.d) $(xporta_MOD:%=%.o)
    echo "HELLO2"
    $(CC) -o bin/$@ $(xporta_MOD:%=%.o)
 
 
clean:
    rm -f *.o bin/xporta bin/valid
 
%.d: %.c
    $(SHELL) -ec 'gcc -MM $(CPPFLAGS) $< \
        | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
        [ -s $@ ] || rm -f $@'
 
include $(ALL_MOD:%=%.d)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2023, 21:43
Ответы с готовыми решениями:

Ошибка в makefile для утилиты make при создании загрузочного образа на Ubuntu
Уважаемые админы, всем привет! Решаю задачку, описанную вот в этом гайде: https://habrahabr.ru/company/neobit/blog/173263/. В конце...

Ошибка при сборке командой Make
Пытаюсь запустить сервер этот https://github.com/nagalun/worldofpixels-server Запустил Makefile в ubuntu командой make и мне выдает...

Ошибка при сборке mingw32-make
Устанавливал opencv на Qt 5.10.1 по этому руководству https://evileg.com/ru/post/370/. При сборке на 34% появляется следующая ошибка. В...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2023, 21:43
Помогаю со студенческими работами здесь

Ошибка при сборке с утилитой make
Пытаюсь собрать проект. Есть исходники и make-файл. Собираю из консоли VC++. Выходит ошибка: g++ -c demoWav.cc make: g++: Command...

Ошибка при сборке пакета через make
Здравствуйте. Пытаюсь вручную установить Redis последней версии 6.0.6. Скачиваю архив с официального сайта. Следую инструкциям. Но при...

Make, makefile, simple makefile, hello_world
Всем привет! Разбираюсь с мэйк-файлами. Проблема следующая: не понятен сам принцип обработки целей. Сейчас я понимаю это...

Ошибка при сборке проекта
17:12:15: Невозможно запустить процесс «nmake.exe» Ошибка при сборке/установке проекта 555 (комплект: Desktop Qt 5.4.0 MSVC2010 OpenGL...

Ошибка при сборке проекта
Установил Qwt в папку C:\\ Далее сделал такие операции в командной строке cd C:\Qt\4.8.5\qmake qmake C:\Qwt\qwt.pro Но...


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

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

Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru