11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
||||||||||||||||
1 | ||||||||||||||||
неопределенная ссылка09.10.2013, 16:47. Показов 15254. Ответов 18
Метки нет (Все метки)
Некомпилируется проект. Не могу понять где ошибка.
prata-10-2-head.h Кликните здесь для просмотра всего текста
Prata-10-2.cpp Кликните здесь для просмотра всего текста
main.cpp Кликните здесь для просмотра всего текста
error: Кликните здесь для просмотра всего текста
F:\lessons\Prata\CodeBlocks\Prata-10-2\prata-10-2-head.h|1|warning: extra tokens at end of #ifndef directive [enabled by default]| F:\lessons\Prata\CodeBlocks\Prata-10-2\prata-10-2-head.h|2|warning: ISO C99 requires whitespace after the macro name [enabled by default]| obj\Debug\main.o||In function `main':| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|8|undefined reference to `Person::Person(std::string const&, char const*)'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|9|undefined reference to `Person::Person(std::string const&, char const*)'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|11|undefined reference to `Person::Show() const'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|13|undefined reference to `Person::FormalShow() const'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|16|undefined reference to `Person::Show() const'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|18|undefined reference to `Person::FormalShow() const'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|21|undefined reference to `Person::Show() const'| F:\lessons\Prata\CodeBlocks\Prata-10-2\main.cpp|23|undefined reference to `Person::FormalShow() const'| ||=== Build finished: 8 errors, 2 warnings (0 minutes, 1 seconds) ===|
0
|
09.10.2013, 16:47 | |
Ответы с готовыми решениями:
18
Неопределённая ссылка Неопределенная ссылка Неопределенная ссылка на деструктор Неопределенная ссылка на `WinMain @ 16 ' |
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
09.10.2013, 16:55 | 2 |
Дефис - недопустимый символ для имени макроса. Исправьте это, дальше видно будет.
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
09.10.2013, 16:58 [ТС] | 3 |
Fyret, Картина не поменялась.
Добавлено через 1 минуту Или в имени файла тоже дефисы нельзя?
0
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
09.10.2013, 17:17 | 4 |
Не знаю про такое ограничение, так что скорее всего можно.
Спрошу на всякий случай: Prata-10-2.cpp компилируется? полученный объектный файл линкуется?
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
09.10.2013, 17:19 [ТС] | 5 |
Fyret, Как в Code::Blocks проверить линкуется ли? Влогах я ошибок в нем не видел. собственно весь лог в спойлере error.
0
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
09.10.2013, 17:33 | 6 |
Про Code::Blocks не знаю. Но если файл - часть проекта, должен компилироваться и линковаться.
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
10.10.2013, 09:23 [ТС] | 7 |
Все три файла относятся к одно проекту, лежат в одной директории.
Добавлено через 15 часов 48 минут Никто не знает в чем проблема?? ((
0
|
26 / 26 / 13
Регистрация: 13.04.2013
Сообщений: 79
|
|
10.10.2013, 09:48 | 8 |
Рабочий проект в аттаче.
Все работает, но код пришлось немного пофиксить, так что скорее всего файлы были некорректно добавлены в проект.
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
10.10.2013, 10:11 [ТС] | 9 |
tzeentch, это конечно очень здорово, но не могли бы Вы поведать где был баг?
Добавлено через 1 минуту Я честно говоря не вижу ни одного измененного символа в коде. Где была ошибка?
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
10.10.2013, 10:18 [ТС] | 11 |
Ilot, Ок, а остальные ошибки?
0
|
26 / 26 / 13
Регистрация: 13.04.2013
Сообщений: 79
|
|
10.10.2013, 10:24 | 12 |
Вы не добавили СРР файл в проект, и он не компилировался => ошибка undefined reference, которая возникает когда вызывается обьявленная, но не определенная функция.
Я добавил его в проект и исправил несколько мелких синтаксических ошибок, часть из них описал Ilot, все сейчас не помню.
1
|
10.10.2013, 10:39 | 13 | |||||
ХЗ Исправлял по ходу дела. Например мой компилятор не одобряет определение статической константы в классе пришлось делать через перечисления.
Исправил дерективы:
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
10.10.2013, 11:00 [ТС] | 14 |
Таки я его и слушаю )
tzeentch, все три файло были в проекте! )) В том то и дело. Может быть сбой линковщика или IDE?
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||||||||||||||||||||||
10.10.2013, 11:03 | 15 | |||||||||||||||||||||||||
errors:
1)
1
|
26 / 26 / 13
Регистрация: 13.04.2013
Сообщений: 79
|
|
10.10.2013, 11:08 | 16 |
Я не видел ваш проект. Я скопипастил код, который вы предоставили, и заставил его работать.
Сбой линковщика - простите, что?? Он ясно вам говорит судя по еррорлогу - отсутсвует определение класса Person. Вот сбой IDE возможен, точнее, неверное понимание работы с ней. Если бы вы выложили проект целиком, то можно было бы понять, в чем там ошибка... телепатией я, к сожалению, не владею.
0
|
26 / 26 / 13
Регистрация: 13.04.2013
Сообщений: 79
|
||||||
10.10.2013, 12:30 | 18 | |||||
Только в прототипе в h-файле, в cpp не надо.
Пример:
0
|
11 / 11 / 2
Регистрация: 24.01.2013
Сообщений: 212
|
|
10.10.2013, 12:31 [ТС] | 19 |
0
|
10.10.2013, 12:31 | |
10.10.2013, 12:31 | |
Помогаю со студенческими работами здесь
19
Неопределенная ссылка при многофайловой реализации шаблона Неопределенная ссылка при использовании шаблонного класса Ошибка "неопределенная ссылка" при работе с std::thread Неопределённая ссылка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |