![]() |
|
![]() ![]() ![]() |
|
Programister0 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
я использую компилятор MinGW5.1 на Celeron D 2.8 под winXP(sp2)
проект компилируется около 2-3 мин, в зависимости от внесенных изменений пробовал задать PRECOMPILED_HEADER в pro файле:
я так понял PRECOMPILED_HEADER может быть только один файл(т.к. создается тока одна папка allh.h.gch с *.o файлами) в allh.h поместил все используемые заголовки в проекте:
теперь везде(обычно в ui_*.h файлах) вместо этой кучи прописываю #include "allh.h" но какого-то заметного увеличения скорости компиляции нет, может я что-то не так сделал? Это сообщение отредактировал(а) Programister0 - 26.12.2007, 17:05 |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
В *.pro файл добавь:
LANGUAGE = C++ CONFIG += precompile_header Нигде тот заголовок прописывать не надо (оставь все как есть) - он подключается сам. |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Programister0 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
>Programister0, а в RecsModel.h что находится?
там типа переопределение класса QSqlQueryModel для отображения данных на QTableView:
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Programister0, покажи лог сборки. Рекомендую воздержаться от выкладывания скриншота.
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Programister0 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
вот тут и написано,
значит я все верно делал насчет того что все инклуды заменял на #include "allh.h" Исправил ссылку(archimed7592) Добавлено @ 22:36 >Programister0, покажи лог сборки. там абсолютно разные логи выходят, зависит от редактируемых модулей вот например frmMainWND.cpp подредактировал:
а вот если allh.h подредактировать то ваще засада! он почти во всех файлах подключается. Это сообщение отредактировал(а) archimed7592 - 26.12.2007, 22:44 |
|||
|
||||
archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Ты, наверное об этом:
Видишь ли, когда ты собираешь проект qmake'ом, и используешь PCH, то qmake автоматом подставляет такие параметры компилятора, что первой строчкой и будет all.h (-include release\allh.h)
Удали все бинарники(.o, .gch - т.е. всю папку release) и сделай ещё раз. Кстати, сразу обращу твоё внимание на то, что ещё там написано: А у тебя их два - потенциальная проблема(правда, по предоставленному логу такой проблемы не наблюдается). -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
Programister0 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
вот! пусть возрадуются поисковые роботы:
пока непонимаю что из этого можно взять
Это сообщение отредактировал(а) archimed7592 - 26.12.2007, 23:11 |
||||
|
|||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Programister0, у тебя успешно используется PCH. Можешь проверить это, замерив время сборки с ним и без него.
Долгая сборка скорее всего обусловлена релизной сборкой(-O2). Выход: написать
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Вообще-то что-то странное. У меня например в комманде компиляции есть "-include release/<project name>", а у него почему-то исходный h файл.
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
bsa,
Хотя... Programister0, попробуй скопировать папку .gch туда же, где у тебя лежит allh.h. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
just_geek |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
вместо всей этой кучи файлов можно писать только #include <QtGui> он уже включает в себя все остальное, у каждого модуля есть такой файл. Причем все модули, включают в себя <QtCore> Затем прекомпилированный заголовочный файл должен подключатся только в cpp файлах и первым. И вообще, http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html Это сообщение отредактировал(а) just_geek - 9.1.2008, 11:01 |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
just_geek, в header'ах не надо подключать QtGui. QtGui надо подключать в cpp файлах первой строчкой.
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
В нашем случае(qmake) pch вообще подключать не нужно
![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
в all.h, который является precompiled header'ом почему бы и не подключить QtGui.h? смысл тогда от ваших precompiled headers ))
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Смысл как раз таки будет... -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
У меня, например, этот "all.h" в одном из проектов содержит:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |