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

При сборке проекта возникает ошибка: Multiple definition

22.01.2016, 14:08. Показов 1844. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Пытаюсь собрать следующую программу с Github'а https://github.com/222464/NeoRL.
Делаю cmake, make.
Когда делаю make, получаю кучу warning'ов, но ошибок нет. А вот линковка не проходит. Получаю 24 очень похожих ошибки:

CMakeFiles/NeoRL.dir/source/neo/PredictiveHierarchy.cpp.o: In function `cl::operator|(cl::QueueProperties, cl::QueueProperties)':
PredictiveHierarchy.cpp:(.text+0xf8): multiple definition of `cl::operator|(cl::QueueProperties, cl::QueueProperties)'
CMakeFiles/NeoRL.dir/source/neo/Swarm.cpp.o:Swarm.cpp:(.text+0xf8): first defined here


Во всех написано про multiple definition of `cl::operator| только с разными типами параметров. И в каждой из них написано про файл Swarm.cpp.

Про то, что такое множественное определение представление имею, но вот что смотреть и как исправить не понимаю. Что-нибудь похожее на cl::operator| в исходниках не нашла...

Помогите, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.01.2016, 14:08
Ответы с готовыми решениями:

Ошибка multiple definition при сборке в QT Creator
Через консоль (c помощью g++) программа компилируется и запускается без ошибок В QT Creator не компилируется ...

Ошибка multiple definition of main при наследовании
Всем привет. Проблема описана много где в интернете , но я так и не смог понять в чём косяк у меня. Помогите разобраться. Есть...

При компиляции возникает ошибка Form1' does not contain a definition for 'Form1_Load'
Пробую скомпилировать код из примера выходит ошибка: Error 1 'Example1_1.Form1' does not contain a definition for 'Form1_Load' and no...

10
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
23.01.2016, 13:44
Ана1251, там в issues есть эта проблема: https://github.com/222464/NeoRL/issues/4
Пока не закрыта. Следите за сообщениями.
Просто качать и собирать, лично мне, не хочется.
0
23.01.2016, 22:08

Не по теме:

Croessmah, похоже, что это она же и открыла. В тот же день и ник похож... предполагаю, что девушку зовут Анастасия, поэтому тут Ана, а там Стася.

0
23.01.2016, 22:37

Не по теме:

Humanoid, возможно, я тоже об это подумал. Но всё-таки, не мешает отправить, вдруг не она.
У меня нет OpenCL, чтобы всё это собрать, ставить не хочется.

0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
25.01.2016, 00:58
Есть подозрение что cl::operator| определен в заголовочном файле и не помечен как inline
1
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.01.2016, 01:23
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Есть подозрение что cl::operator| определен в заголовочном файле и не помечен как inline
Так и есть. В cl2.hpp нет inline
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 4
25.01.2016, 12:22  [ТС]
Да, на гитхабе тоже я.

Спасибо, действительно inline отсутствует.
Правда, после исправления, появились ошибки компиляции.

Буду дальше копать)
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 4
26.01.2016, 13:24  [ТС]
Добрый день!

Обновила OpenCL. Теперь он с inline.
Но возникает следующая ошибка. Что это такое? И как можно исправить?

Linking CXX executable NeoRL
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 0 имеет недопустимый индекс символа 11
Кликните здесь для просмотра всего текста
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 1 имеет недопустимый индекс символа 12
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 2 имеет недопустимый индекс символа 2
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 3 имеет недопустимый индекс символа 2
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 4 имеет недопустимый индекс символа 11
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 5 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 6 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 7 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 8 имеет недопустимый индекс символа 12
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 9 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 10 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 11 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 12 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 13 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 14 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 15 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 16 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 17 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 18 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 19 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 20 имеет недопустимый индекс символа 13
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): перемещение 21 имеет недопустимый индекс символа 22
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): перемещение 0 имеет недопустимый индекс символа 2

/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
CMakeFiles/NeoRL.dir/source/system/ComputeSystem.cpp.o: In function `cl::CommandQueue::CommandQueue(cl::Cont ext const&, cl:: Device const&, unsigned long long, int*)':
ComputeSystem.cpp: (.text._ZN2cl12CommandQueueC2ERKNS_7Cont extERKNS_6DeviceEyPi[_ZN2cl12CommandQueueC5ERKNS_7ContextERKN S_6DeviceEyPi]+0x8b): undefined reference to `clCreateCommandQueueWithProperties'
collect2: error: ld returned 1 exit status
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
26.01.2016, 13:27
Ана1251, у тебя система 64 бит?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
26.01.2016, 13:31
Несколько смущает путь /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o. В совокупности с выдачей ошибки сильно смахивает на то, что установлена какая-то самопальная версия glibc, собранная с отладочной информацией. У тебя в таких условиях обычный hello world компилируется (с теми же опциями, что и при компиляции данной софтины)?
0
0 / 0 / 0
Регистрация: 22.01.2016
Сообщений: 4
26.01.2016, 13:39  [ТС]
Нет. 32-бит

Добавлено через 7 минут
Да, обычный hello world компилируется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.01.2016, 13:39
Помогаю со студенческими работами здесь

Ошибка multiple definition
Ошибка multiple definition of `SocketTest::bytesWritten(long long)' подскажите в чем проблема #ifndef SOCKETTEST_H #define...

Ошибка multiple definition
В строке 4 компилятор выдает ошибку "multiple definition of 'fin'". Проблема в том, что в этой строке вообще нет слова fin. Объясните,...

Ошибка multiple definition of `Start'
так объявляю этот старт, на который ругается: void **Start В конструкторе формы делаю так: Start=NULL; Как побороть данную...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка?
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и вывести наименование товара, цена которого...

Multiple definition ошибка, использую extern
Доброго времени суток. Столкнулся с проблемой, описанной в шапке темы. Замысел заключается в создании файла, где будут храниться все...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru