Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
11 / 11 / 5
Регистрация: 02.02.2011
Сообщений: 211
1

Не работает Первый пример из книжки

05.01.2012, 00:23. Показов 858. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
IDE KDevelop. Пример, которые был при создании проекта, компилируется без ошибок.
Вот пример из книжки, который я пытаюсь скомпилировать:

Counter.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef _Counter_h_
#define _Counter_h_
 
#include <QObject>
 
// ======================================================================
class Counter : public QObject {
    Q_OBJECT
private:
    int m_nValue;
 
public:
    Counter();
 
public slots:
    void slotInc();
 
signals:
    void goodbye       (   );
    void counterChanged(int);
};
#endif  //_Counter_h_
Counter.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "Counter.h"
 
// ----------------------------------------------------------------------
Counter::Counter() : QObject()
                   , m_nValue(0)
{
}
 
// ----------------------------------------------------------------------
void Counter::slotInc()
{
    emit counterChanged(++m_nValue);
 
    if (m_nValue == 5) {
        emit goodbye();
    }
}
main.cpp
C++
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
#include <QtGui>
#include "Counter.h"
 
// ----------------------------------------------------------------------
int main (int argc, char** argv)
{
    QApplication app(argc, argv);
 
    QLabel      lbl("0");
    QPushButton cmd("ADD");
    Counter     counter;
 
    lbl.show();
    cmd.show();
 
    QObject::connect(&cmd, SIGNAL(clicked()), 
                     &counter, SLOT(slotInc())
                    );
 
    QObject::connect(&counter, SIGNAL(counterChanged(int)),
                     &lbl, SLOT(setNum(int))
                    );
 
    QObject::connect(&counter, SIGNAL(goodbye()), 
                     &app, SLOT(quit())
                    );
 
    return app.exec();
}
Выдает ошибку:
HTML5
1
2
3
4
5
/home/koka3000/projects/TestQt5/main.cpp:48: undefined reference to `vtable for Counter'
/home/koka3000/projects/TestQt5/main.cpp:48: undefined reference to `vtable for Counter'
/home/koka3000/projects/TestQt5/main.cpp:48: undefined reference to `vtable for Counter'
/home/koka3000/projects/TestQt5/main.cpp:48: undefined reference to `vtable for Counter'
/home/koka3000/projects/TestQt5/main.cpp:48: undefined reference to `vtable for Counter'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2012, 00:23
Ответы с готовыми решениями:

Пример из книжки
Здравствуйте! Я скачал книгу по с++ и там был пример: Address.cpp #include &lt;iostream&gt; #include...

Не получается пример из книжки!
Я только начинаю изучать Visual C++, и не могу разобраться с простым кодом. Я добавил к Edit box...

пример из книжки Никита Культин
Здравствуйте!Подскажите пожалуйста . это пример из книжки Никита Культин - C++ Builder в задачах и...

Пример задачи с кругами из книжки Лафоре
Здравствуйте! Делаю пример задачи с кругами из книжки Лафоре, среда Эклипс, Убунту 14.04 Для...

6
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
05.01.2012, 00:30 2
Цитата Сообщение от koka3000 Посмотреть сообщение
QLabel lbl(
Цитата Сообщение от koka3000 Посмотреть сообщение
QObject::connect(
вызывать надо функцию объекта класса
C++
1
lbl.connect
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
05.01.2012, 00:32 3
Сделай руками qmake && make clean && make

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
lbl.connect
Не надо так делать, это статический метод
1
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
05.01.2012, 00:44 4
Цитата Сообщение от NoMasters Посмотреть сообщение
Не надо так делать, это статический метод
я среагировал на это
Цитата Сообщение от koka3000 Посмотреть сообщение
undefined reference to
библиотеку сию не знаю
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,961
05.01.2012, 00:55 5
Цитата Сообщение от NoMasters Посмотреть сообщение
Сделай руками qmake && make clean && make
А qmake -project сначала не нужно?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
05.01.2012, 01:02 6
Дык он же из каталога с проектом будет делать.
1
11 / 11 / 5
Регистрация: 02.02.2011
Сообщений: 211
05.01.2012, 16:25  [ТС] 7
Спасибо всем, разобрался!
0
05.01.2012, 16:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2012, 16:25
Помогаю со студенческими работами здесь

Написать шаблон ptr_cast, который работает аналогично dynamic_cast (задача из книжки Страуструпа)
Кто может написать шаблон ptr_cast, который работает аналогично dynamic_cast? Задача из...

Первый пример
Всем привет. Начал изучать PHP но ничего не получилось. Скачал все что надо было. Джентельментский...

Как собрать первый пример?
Вообщем, решил начать учить C по книге В.В.Подбельского и С.С.Фомина 2003 года. Но по моему книга...

Как сделать первый пример
пример на фото


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru