Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ручное подключение Q-типов
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
NordWest
Здравствуйте.
С некоторыми программами возникает такая проблема - приходится подключать все используемые типы Qt отдельными директивами include. Мне кажется строчка #include <QtCore>, например, должна автоматически подцеплять за собой всяческие QFile, QString и т.п. Может в файле-проекта какого-то ключа не хватает?

Вот сейчас к примеру, приложение выдает ошибку: "'QTextStream' was not declared in this scope".
Само приложение уже сильно закоментировал, осталось только следующее:
CODE
#include <QCoreApplication>
int main(int argc, char *argv[])
{
// qInstallMsgHandler(customMessageHandler);
QCoreApplication a(argc, argv);
QTextStream dataStream, dataStream1;
return 0;//a.exec();
}


И в проэкте так:
CODE
TARGET = r3Stat
CONFIG += console warn_off debug
TEMPLATE = app
SOURCES += main.cpp


Может проблема в установке? У меня вообще это приложение вдруг свихнулось и стало выдавать тысячи ошибок и предупреждений при сборке, вешая QtCreator. Переустановка SDK не помогла правда.
kwisp
Цитата(NordWest @ 25.8.2010, 12:21) *
Мне кажется строчка #include <QtCore>, например

Цитата(NordWest @ 25.8.2010, 12:21) *
#include <QCoreApplication>
int main(int argc, char *argv[])
{

так где же строчка
#include <QtCore>

или я вопроса не понял.
а вообще для наглядности наверное лучше включать все по-отдельности. посмотри исходники примеров и проч прог на qt.
NordWest
Да, похоже я по ошибке пытался подключить QCore вместо QtCore и в профайле не прописал CONFIG += qt. Извиняюсь за тупость %). Спасибо!
DIMEDROLL
Цитата
С некоторыми программами возникает такая проблема - приходится подключать все используемые типы Qt отдельными директивами include.

это вовсе не проблема, а фича
Чем больше хидерников ты подключаешь тем дольше компиляция и больше зависимостей . Поэтому в хидерники стараются подключать минимум других хидерников.
Если тебя этот вопрос так напрягает, то сделай общий файл типа stdafx.h в который включи все мыслимые и используемые тобой хидеры. А потом в .cpp файлах просто подключай этот stdafx.h.
kwisp
Цитата(DIMEDROLL @ 25.8.2010, 12:39) *
Если тебя этот вопрос так напрягает, то сделай общий файл типа stdafx.h в который включи все мыслимые и используемые тобой хидеры. А потом в .cpp файлах просто подключай этот stdafx.h.

в случае если твои исходники кто то будет использовать - то ему будет тяжелее скакать по зависимостям и определить однозначно какие хедеры использует cpp а какие нет.

можно просто грамотно включать хедеры без всего лишнего, использовать предварительные обЪявления к примеру.
NordWest
Т.е. подключать скопом QtCore и радоваться - не такая хорошая идея на самом деле?
kwisp
NordWest,
еще раз повторюсь.
открой пожалуйста примеры поставляемые с библиотекой и посмотри как там что подключается и включается.
примеры же есть.
скачай исходники с использованием qt какой нить серьезной проги. вон я недавно qutim качал. или psi.
BRE
Цитата(NordWest @ 25.8.2010, 12:47) *
Т.е. подключать скопом QtCore и радоваться - не такая хорошая идея на самом деле?

Точно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.