|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
||||||
Не правильная работа makefile27.02.2014, 12:33. Показов 2383. Ответов 18
Метки нет (Все метки)
Здравствуйте, создаю для сборки программы makefile с таким содержанием:
make -f /home/kobaeugenea/project/makefile compile Первый раз всё проходит нормально, на второй выдаётся такая ошибка, а makefile удаляется: Кликните здесь для просмотра всего текста
cc /home/kobaeugenea/project/cprogram.o -o /home/kobaeugenea/project/cprogram
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' /home/kobaeugenea/project/cprogram.o: In function `sost(int, treug*)': cprogram.cpp .text+0x3e): undefined reference to `operator new[](unsigned long)'cprogram.cpp .text+0x95): undefined reference to `operator new[](unsigned long)'/home/kobaeugenea/project/cprogram.o: In function `clear(treug*)': cprogram.cpp .text+0x2b3): undefined reference to `operator delete[](void*)'cprogram.cpp .text+0x2df): undefined reference to `operator delete[](void*)'cprogram.cpp .text+0x2eb): undefined reference to `operator delete(void*)'collect2: error: ld returned 1 exit status make: *** [/home/kobaeugenea/project/cprogram] Error 1 По команде сс в первой строке, я так понимаю, он пытается компилировать программу через gcc, а не через g++? Да и ошибки в операторах new и delete, которых нету в С. Кто может объяснить почему так происходит, и почему первый раз все компилируется нормально? g++ установлен. Если заново создать makefile и запустить его дважды, всё также. Первый раз нормально, затем ошибка. Система - Ubuntu 13.10.
0
|
||||||
| 27.02.2014, 12:33 | |
|
Ответы с готовыми решениями:
18
При запуске Makefile выдается ошибка "Makefile:2: recipe for target 'all' failed" Работа в Makefile Работа с Makefile ом |
|
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
|
|
| 27.02.2014, 17:48 | |
|
Это у вас ошибка при сборке. Ответы на вопросы думаю лучше искать в вашем makefile.
Можете попытаться вручную собрать, с коммандной строки. g++ -o /home/kobaeugenea/project/cprogram /home/kobaeugenea/project/cprogram.o -lstdc++
0
|
|
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
|
| 27.02.2014, 17:53 [ТС] | |
|
С терминала нормально собирается той командой, что в makefile.
0
|
|
|
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
|
||
| 27.02.2014, 18:07 | ||
|
0
|
||
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
||
| 28.02.2014, 06:33 [ТС] | ||
|
P. S. Команды для сборки в makefile вообще нету. Я не понимаю откуда в терминале берётся строчка: cc /home/kobaeugenea/project/cprogram.o -o /home/kobaeugenea/project/cprogram
0
|
||
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
|
| 28.02.2014, 08:52 [ТС] | |
|
Да, табуляция.
0
|
|
|
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
|
||||||
| 28.02.2014, 10:40 | ||||||
|
Пробуйте так:
0
|
||||||
|
|
|
| 28.02.2014, 11:11 | |
|
Я так и не смог у себя воспроизвести проблему
1. Покажи версию (выдача по "make -v") 2. Покажи выдачу по "ls -l" в текущем каталоге 3. Покажи, как запускаешь make: это просто "make" или с какими-то дополнительными параметрами 4. Покажи выдачу "uname -a" 5. Покажи выдачу "g++ -v" Добавлено через 22 секунды Воспроизвёл. Ты запускаешь "make cprogram"?
0
|
|
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
||
| 28.02.2014, 11:32 [ТС] | ||
|
Так запускаю. На остальные вопросы ответить не могу сейчас, компьютера под рукой нету.
0
|
||
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
||
| 28.02.2014, 13:31 [ТС] | ||
|
make -f /home/kobaeugenea/project/cprogram compile Ошибка та же.
0
|
||
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
||
| 28.02.2014, 13:39 [ТС] | ||
|
make -r -f /home/kobaeugenea/project/cprogram compile Так всё отлично работает. Спасибо, что намекнули про неявные правила, сам бы наверно долго промучился.
0
|
||
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
||
| 28.02.2014, 14:20 [ТС] | ||
|
0
|
||
|
|
|
| 28.02.2014, 14:34 | |
|
Ты сказал "есть makefile с названием cprogram". Тогда уж правильно надо было говорить "есть файл с названием cprogram". И именно в названии файла проблема. Я во всяком случае так сумел воспроизвести. Не очень понимаю, зачем нужно было таким образом иметь проблему на ровном месте из ничего - но, как говорится, хозяин - барин
0
|
|
|
6 / 6 / 2
Регистрация: 16.01.2011
Сообщений: 166
|
|
| 28.02.2014, 14:43 [ТС] | |
|
0
|
|
|
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
|
|
| 28.02.2014, 16:39 | |
|
Если makefile является "cprogram" то нечего удивляется, если сборщик его удаляется, для сборки "cprogram".
Воспользуйся моим makefile, который я указал в прошлый раз. сохрани его в /home/kobaeugenea/project/makefile. make -f /home/kobaeugenea/project/makefile и все должно работать
1
|
|
| 28.02.2014, 16:39 | |
|
Помогаю со студенческими работами здесь
19
Make, makefile, simple makefile, hello_world Правильная работа с БД
Правильная работа форума Не правильная работа preloader Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|