crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Ручное подключение Q-типов
NordWest
  опции профиля:
сообщение 25.8.2010, 11:21
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

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




Репутация:   0  


Здравствуйте.
С некоторыми программами возникает такая проблема - приходится подключать все используемые типы 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
  опции профиля:
сообщение 25.8.2010, 11:27
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(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
  опции профиля:
сообщение 25.8.2010, 11:30
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

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




Репутация:   0  


Да, похоже я по ошибке пытался подключить QCore вместо QtCore и в профайле не прописал CONFIG += qt. Извиняюсь за тупость %). Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 25.8.2010, 11:39
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

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




Репутация:   0  


Цитата
С некоторыми программами возникает такая проблема - приходится подключать все используемые типы Qt отдельными директивами include.

это вовсе не проблема, а фича
Чем больше хидерников ты подключаешь тем дольше компиляция и больше зависимостей . Поэтому в хидерники стараются подключать минимум других хидерников.
Если тебя этот вопрос так напрягает, то сделай общий файл типа stdafx.h в который включи все мыслимые и используемые тобой хидеры. А потом в .cpp файлах просто подключай этот stdafx.h.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 25.8.2010, 11:44
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


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

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

можно просто грамотно включать хедеры без всего лишнего, использовать предварительные обЪявления к примеру.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NordWest
  опции профиля:
сообщение 25.8.2010, 11:47
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 86
Регистрация: 26.11.2008
Пользователь №: 433

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




Репутация:   0  


Т.е. подключать скопом QtCore и радоваться - не такая хорошая идея на самом деле?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 25.8.2010, 11:54
Сообщение #7


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


NordWest,
еще раз повторюсь.
открой пожалуйста примеры поставляемые с библиотекой и посмотри как там что подключается и включается.
примеры же есть.
скачай исходники с использованием qt какой нить серьезной проги. вон я недавно qutim качал. или psi.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 25.8.2010, 12:00
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(NordWest @ 25.8.2010, 12:47) *
Т.е. подключать скопом QtCore и радоваться - не такая хорошая идея на самом деле?

Точно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 17.1.2021, 18:28