Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
глюк Q_OBJECT
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: глюк Q_OBJECT (Прочитано 9703 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Chuda
Гость
глюк Q_OBJECT
«
:
22-05-2006 19:35 »
известно, что в объявлении класса, использующем сигналы и слоты, необходимо прописать макрос Q_OBJECT.
До того, как я его прописываю, всё работает. Как только прописываю, получаем такое:
cd src && make -f Makefile
компиляция sq1.cpp (g++)
компиляция sqmainwindow.cpp (g++)
test -d ../bin/ || mkdir -p ../bin/
компоновка ../bin/sq1 (g++)
sqmainwindow.o: In function `SQMainWindow::SQMainWindow()':
sqmainwindow.cpp:(.text+0x29): undefined reference to `vtable for SQMainWindow'
sqmainwindow.cpp:(.text+0x30): undefined reference to `vtable for SQMainWindow'
sqmainwindow.o: In function `SQMainWindow::SQMainWindow()':
sqmainwindow.cpp:(.text+0x69): undefined reference to `vtable for SQMainWindow'
sqmainwindow.cpp:(.text+0x70): undefined reference to `vtable for SQMainWindow'
sqmainwindow.o: In function `SQMainWindow::~SQMainWindow()':
sqmainwindow.cpp:(.text+0x88): undefined reference to `vtable for SQMainWindow'
sqmainwindow.o:sqmainwindow.cpp:(.text+0x8f): more undefined references to `vtable for SQMainWindow' follow
collect2: ld returned 1 exit status
make[1]: *** [../bin/sq1] Ошибка 1
make[1]: Цель `first' не была пересобрана из-за ошибок.
make: *** [sub-src] Ошибка 2
make: Цель `first' не была пересобрана из-за ошибок.
*** Завершено с кодом: 2 ***
что бы это могло значить?
«
Последнее редактирование: 13-12-2007 20:55 от Алексей1153++
»
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: глюк Q_OBJECT
«
Ответ #1 :
22-05-2006 20:04 »
Chuda
, такие файлы надо прогонять через претранслятор. Кажись завется moc.
Q_OBJECT лишь метка для него.
А вообще, судя по логам, похоже что какая-то библиотека не включена список линковки.
«
Последнее редактирование: 22-05-2006 20:06 от RXL
»
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
Re: глюк Q_OBJECT
«
Ответ #2 :
23-05-2006 10:06 »
естественно moc работает.
но вот прикол.
это проект из kdevelop с другого компа, там всё работало. У меня в kdevelop выдало такую ошибку. Однако если просто из консоли сделать make, то всё компилируется на ура и работает правильно.
Так что ошибка где-то в kdevelop, о чём отправлено гневное разработчикам.
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: глюк Q_OBJECT
«
Ответ #3 :
23-05-2006 16:00 »
А нельзя ли увидеть, какие параметры kdevelop передает make и какие переменные среды он назначает? Может в этом есть смысл? Попробуй в нвчвло Makefile поставить вывод.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
глюк Q_OBJECT
Загружается...