crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Qt 4.4.0 + Code::Blocks 8.02 + MS Vista, Ошибка компиляции
edwardoid
  опции профиля:
сообщение 31.7.2008, 12:44
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 171
Регистрация: 1.5.2008
Из: Ереван, Армения
Пользователь №: 164

Спасибо сказали: 0 раз(а)




Репутация:   0  


Исходники
main.cpp
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include "test.h"

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    Test t;
    t.show();

    return app.exec();
}



test.h
#ifndef TEST_H
#define TEST_H

#include <QMainWindow.h>


class Test : public QMainWindow
{
    Q_OBJECT
    public:
        Test(QWidget* = NULL);
        virtual ~Test();
    protected:
    private:
};

#endif // TEST_H

test.cpp
#include "test.h"

Test::Test(QWidget* parent): QMainWindow(parent)
{
    //ctor
}

Test::~Test()
{
    //dtor
}


результат компиляции:

-------------- Build: Debug in QTesting ---------------

Linking console executable: bin\Debug\QTesting.exe
obj\Debug\test.o: In function `_ZN4TestC2EP7QWidget':
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
obj\Debug\test.o: In function `_ZN4TestC1EP7QWidget':
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
C:/Users/Edward/Programming/QTesting/test.cpp:4: undefined reference to `vtable for Test'
obj\Debug\test.o: In function `_ZN4TestD2Ev':
C:/Users/Edward/Programming/QTesting/test.cpp:9: undefined reference to `vtable for Test'
obj\Debug\test.o:C:/Users/Edward/Programming/QTesting/test.cpp:9: more undefined references to `vtable for Test' follow
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
6 errors, 0 warnings



Я не пойму почему так? Если убрать Q_OBJECT все скомпилируется, но без этого макроса я не смогу создаватх свои слоты!
Помогите.
Причина редактирования: длинные исходники можно вкладывать внутрь тэга expad
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 31.7.2008, 19:49
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(edwardoid @ 31.7.2008, 20:10) *
1)Все компилит, если нет этого Q_OBJECT.

я спрашивал про стандартные примеры (Qt'явые) дело в том, что под висту нужен патченый MinGW32.
---
Уменя твой код копилится без проблем, проверено на Windows 2kSP4, Qt-4.4.0, gcc (GCC) 3.4.5 (mingw special)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- edwardoid   Qt 4.4.0 + Code::Blocks 8.02 + MS Vista   31.7.2008, 12:44
- - Litkevich Yuriy   1) штатные примеры на висте компилятся? 2) не пиши...   31.7.2008, 15:51
- - edwardoid   1)Все компилит, если нет этого Q_OBJECT. 2) Сорри,...   31.7.2008, 16:10
- - Litkevich Yuriy   Цитата(edwardoid @ 31.7.2008, 20:10) 3) К...   31.7.2008, 16:15
- - void*   edwardoid, ты можешь сначала сгенерировать автомат...   31.7.2008, 17:14
- - edwardoid   QTesting.pro CODE#################################...   31.7.2008, 18:26
- - Sergey B.   Если нет своих слотов, то Q_OBJECT писать не надо....   31.7.2008, 18:58
- - Litkevich Yuriy   Цитата(edwardoid @ 31.7.2008, 20:10) 1)Вс...   31.7.2008, 19:49
|- - edwardoid   Цитата(Litkevich Yuriy @ 31.7.2008, 21:49...   31.7.2008, 22:05
- - Litkevich Yuriy   1) как ставил Qt на висту? (программу установки ис...   31.7.2008, 23:35
- - edwardoid   1) QT через инсталяционник. Вместо скачки MinGW ук...   1.8.2008, 1:06
- - Litkevich Yuriy   Цитата(edwardoid @ 1.8.2008, 5:06) Есть в...   1.8.2008, 5:06
- - edwardoid   но тем не менее проблема не решена. вроде гцц горм...   1.8.2008, 8:04
- - trdm   А это что за фигня? Цитата(edwardoid @ 31.7.2...   1.8.2008, 20:55
|- - edwardoid   Цитата(trdm @ 1.8.2008, 22:55) А это что ...   1.8.2008, 21:06
- - Litkevich Yuriy   trdm, а у меня его пример без исправлений компили...   1.8.2008, 21:00
- - Litkevich Yuriy   edwardoid, ты лучше ответь на мой вопрос, отладочн...   1.8.2008, 21:10
- - void*   Цитата(trdm @ 1.8.2008, 20:55) может лучш...   1.8.2008, 21:10
- - trdm   Цитата(edwardoid @ 1.8.2008, 22:06) Если ...   3.8.2008, 22:39
- - edwardoid   ne pomoglo...   3.8.2008, 22:44
- - ViGOur   Цитата(edwardoid @ 1.8.2008, 9:04) qt не ...   4.8.2008, 10:37
|- - edwardoid   Цитата(ViGOur @ 4.8.2008, 12:37) Цитата(e...   4.8.2008, 10:49
- - ViGOur   Библиотека.   4.8.2008, 11:02
- - Litkevich Yuriy   edwardoid, попробуй отладочную версию собрать: ...   4.8.2008, 11:40


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 20:01