Russian Qt Forum

Qt => Общие вопросы => Тема начата: StogovOleg от Ноябрь 15, 2008, 14:38



Название: конфликт qt.h и qobject.h
Отправлено: StogovOleg от Ноябрь 15, 2008, 14:38
Добрый день.

Провожу следующий эксперимент.
Создаю проект графического приложения. Подключаю к файлу *.ui.h формы заголовочный файл в котором написано следующее:
Код:
#include <qt.h>
#include <qobject.h>

class MyClass : public QObject
{
    Q_OBJECT
    public:
    MyClass();
};

запускаю и получаю кучу ошибок, если я выношу описание функции и класса в файл *.ui.h формы то все успешно работает.
В чем причина?

P.S. qt-3.3.3


Название: Re: конфликт qt.h и qobject.h
Отправлено: Rcus от Ноябрь 15, 2008, 15:03
В списке заголовочных файлов Qt 3.3 нет qt.h
http://doc.trolltech.com/3.3/headers.html


Название: Re: конфликт qt.h и qobject.h
Отправлено: StogovOleg от Ноябрь 15, 2008, 15:23
а файл есть, в нем определяется макрос QT_H
и что только что интересное заметил: файл qaccel.h

Код:
#ifndef QT_H
#include "qobject.h"
#include "qkeysequence.h"
#endif // QT_H

что за несовместимость и где про это написано?


Название: Re: конфликт qt.h и qobject.h
Отправлено: Rcus от Ноябрь 15, 2008, 16:50
В списке заголовочных файлов библиотеки его нет, зачем вы включаете его напрямую в свой код?


Название: Re: конфликт qt.h и qobject.h
Отправлено: pastor от Ноябрь 15, 2008, 18:33
В списке заголовочных файлов Qt 3.3 нет qt.h

в описании нет, но файл такой есть в папке QTDIR/include.

Вопрос автору темы: непойму, зачем его подключать? В этом файле включены все инклуды библиотеки Qt. Это дурной стиль инклюдить все подряд ради одного QObject


Название: Re: конфликт qt.h и qobject.h
Отправлено: StogovOleg от Ноябрь 23, 2008, 21:20
Прошу прощения, давно не подходил к инету. Согласен про дурной стиль, но человек, который обучал qt объяснил, что qt.h нужен для подключения макроса Q_EXPORT. Сейчас знаю, что он описан в qglobal.h, но я не могу понять почему происходит то, что я описал в первом сообщении. Почему макрос Q_OBJECT не хочет находится в одном файле со строкой "#include <qt.h>"?


Название: Re: конфликт qt.h и qobject.h
Отправлено: pastor от Ноябрь 24, 2008, 12:03
Чесно сказате проблема несовсем понятна. Приаттач своей проект, посмотрим