Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt4] Как ускорить компиляцию проекта? и как правльно исполз PRECOMPILED_HEADER 
:(
    Опции темы
Programister0
Дата 26.12.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



я использую компилятор MinGW5.1 на Celeron D 2.8 под winXP(sp2)
проект компилируется около 2-3 мин, в зависимости от внесенных изменений
пробовал задать PRECOMPILED_HEADER в pro файле:
Код

CONFIG += precompile_header
PRECOMPILED_HEADER = allh.h \
                     RecsModel.h \

HEADERS += allh.h \
           RecsModel.h \
           ...

я так понял PRECOMPILED_HEADER может быть только один файл(т.к. создается тока одна папка allh.h.gch с *.o файлами)
в allh.h поместил все используемые заголовки в проекте:
Код

#ifndef __ALLH_H__
#define __ALLH_H__

#include <QtGui>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QComboBox>
#include <QtGui/QDateEdit>
#include <QtGui/QDialog>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QHBoxLayout>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QListWidget>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QSpinBox>
#include <QtGui/QStackedWidget>
#include <QtGui/QStatusBar>
#include <QtGui/QTableView>
#include <QtGui/QTextEdit>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>

#endif // __ALLH_H__

теперь везде(обычно в ui_*.h файлах) вместо этой кучи прописываю #include "allh.h"
но какого-то заметного увеличения скорости компиляции нет,
может я что-то не так сделал?

Это сообщение отредактировал(а) Programister0 - 26.12.2007, 17:05
PM MAIL WWW ICQ Skype   Вверх
bsa
Дата 26.12.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



В *.pro файл добавь:
LANGUAGE = C++
CONFIG += precompile_header

Нигде тот заголовок прописывать не надо (оставь все как есть) - он подключается сам.
PM   Вверх
archimed7592
Дата 26.12.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 11
Всего: 93



Programister0, а в RecsModel.h что находится?

Ссылка по теме: Precompiled headers.


--------------------
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
PM Jabber   Вверх
Programister0
Дата 26.12.2007, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



>Programister0, а в RecsModel.h что находится?
там типа переопределение класса QSqlQueryModel для отображения данных на QTableView:
Код

#include "allh.h"

class RecsModel : 
      public QSqlQueryModel 
{
    Q_OBJECT
  public:
    RecsModel(QObject *parent = 0);
    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
 
  private:
    void refresh();    
};

PM MAIL WWW ICQ Skype   Вверх
archimed7592
Дата 26.12.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 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
PM Jabber   Вверх
Programister0
Дата 26.12.2007, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



вот тут и написано,
значит я все верно делал насчет того что все инклуды заменял на #include "allh.h"

Исправил ссылку(archimed7592)

Добавлено @ 22:36
>Programister0, покажи лог сборки.
там абсолютно разные логи выходят, зависит от редактируемых модулей
вот например frmMainWND.cpp подредактировал:
Код

*** qmake ***
*** make ***
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/work_/bd_fb11'
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmMainWND.o frmMainWND.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o "release\my_bd.exe" object_script.my_bd.Release  -L"c:\qtprog\qt\lib" -lmingw32 -lqtmain release\res_res.o -lQtSql4 -lQtGui4 -lQtCore4
mingw32-make[1]: Leaving directory `C:/work_/bd_fb11'
Done building. Press F4 to go to any errors.

а вот если allh.h подредактировать то ваще засада! 
он почти во всех файлах подключается.

Это сообщение отредактировал(а) archimed7592 - 26.12.2007, 22:44
PM MAIL WWW ICQ Skype   Вверх
archimed7592
Дата 26.12.2007, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 11
Всего: 93



Цитата(Programister0 @  26.12.2007,  22:28 Найти цитируемый пост)
вот тут и написано,

Ты, наверное об этом:
Цитата(archimed7592 @  24.11.2007,  23:54 Найти цитируемый пост)
. include "PCH.hpp" должно идти первой строчкой(в идеале, ДО первого C/C++ token'а).



Видишь ли, когда ты собираешь проект qmake'ом, и используешь PCH, то qmake автоматом подставляет такие параметры компилятора, что первой строчкой и будет all.h (-include release\allh.h)


Цитата(Programister0 @  26.12.2007,  22:28 Найти цитируемый пост)
там абсолютно разные логи выходят, зависит от редактируемых модулей
вот например frmMainWND.cpp подредактировал:

Удали все бинарники(.o, .gch - т.е. всю папку release) и сделай ещё раз.


Кстати, сразу обращу твоё внимание на то, что ещё там написано:
Цитата(archimed7592 @  24.11.2007,  23:54 Найти цитируемый пост)
2. Может быть только один 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
PM Jabber   Вверх
Programister0
Дата 26.12.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



вот! пусть возрадуются поисковые роботы:
Код

C:\work_\bd_fb11>C:\Qtprog\qt\bin\qmake
C:\work_\bd_fb11>C:\Qtprog\mingw\bin\mingw32-make.exe
C:/Qtprog/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/work_/bd_fb11'
g++ -x c++-header -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql"-I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release"-I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\allh.h.gch\c++ allh.h
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB-DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\main.o main.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB-DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\RecsModel.o RecsModel.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB-DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmLogin.o frmLogin.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB-DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmMainWND.o frmMainWND.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB-DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmDisk.o frmDisk.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmRec.o frmRec.cpp

g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmRecs.o frmRecs.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\frmRecTypeGenre.o frmRecTypeGenre.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\myQTableView.o myQTableView.cppc:\qtprog\qt\bin\rcc.exe -name res res.qrc -o release\qrc_res.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\qrc_res.o release\qrc_res.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 myQTableView.h -o release\moc_myQTableView.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_myQTableView.o release\moc_myQTableView.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 RecsModel.h -o release\moc_RecsModel.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_RecsModel.o release\moc_RecsModel.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 frmLogin.h -o release\moc_frmLogin.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_frmLogin.o release\moc_frmLogin.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 frmMainWND.h -o release\moc_frmMainWND.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_frmMainWND.orelease\moc_frmMainWND.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 frmDisk.h -o release\moc_frmDisk.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_frmDisk.o release\moc_frmDisk.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 frmRec.h -o release\moc_frmRec.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_frmRec.o release\moc_frmRec.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 frmRecs.h -o release\moc_frmRecs.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_frmRecs.o release\moc_frmRecs.cppC:/qtprog/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -D__GNUC__ -DWIN32 frmRecTypeGenre.h -o release\moc_frmRecTypeGenre.cpp
g++ -c -include release\allh.h -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtCore" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtGui" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include\QtSql" -I"..\..\qtprog\qt\include" -I"." -I"c:\qtprog\qt\include\ActiveQt" -I"release" -I"." -I"..\..\qtprog\qt\mkspecs\default" -o release\moc_frmRecTypeGenre.o release\moc_frmRecTypeGenre.cpp
windres -i res.rc -o release\res_res.o --include-dir=.
res.rc:1: unrecognized escape sequence
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o "release\my_bd.exe" object_scr
ipt.my_bd.Release  -L"c:\qtprog\qt\lib" -lmingw32 -lqtmain release\res_res.o -lQ
tSql4 -lQtGui4 -lQtCore4
mingw32-make[1]: Leaving directory `C:/work_/bd_fb11'

пока непонимаю что из этого можно взять


 ! 
archimed7592
Такие объёмные тексты, а особенно логи нужно обрамлять тэгами [CODE=nocolor][/CODE], а то могут возрадоваться модераторы.


Это сообщение отредактировал(а) archimed7592 - 26.12.2007, 23:11
PM MAIL WWW ICQ Skype   Вверх
archimed7592
Дата 26.12.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 11
Всего: 93



Programister0, у тебя успешно используется PCH. Можешь проверить это, замерив время сборки с ним и без него.
Долгая сборка скорее всего обусловлена релизной сборкой(-O2). Выход: написать 
Код

CONFIG -= release
CONFIG += debug
 в .pro, но, для этого должны присутствовать собранные отладочные версии Qt'шных библиотек(QtCore4d, QtGui4d и т.д.).


--------------------
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
PM Jabber   Вверх
bsa
Дата 27.12.2007, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Вообще-то что-то странное. У меня например в комманде компиляции есть "-include release/<project name>", а у него почему-то исходный h файл.
PM   Вверх
archimed7592
Дата 27.12.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 11
Всего: 93



bsa
Цитата
-I"release"
так что всё ок(в release должна быть папка allh.h.gch в которой будет файлик c++. Для gcc этого должно быть достаточно.

Хотя... 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
PM Jabber   Вверх
just_geek
Дата 9.1.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



Цитата(Programister0 @ 26.12.2007,  17:04)
Код

#ifndef __ALLH_H__
#define __ALLH_H__

#include <QtGui>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QComboBox>
#include <QtGui/QDateEdit>
#include <QtGui/QDialog>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QHBoxLayout>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QListWidget>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QSpinBox>
#include <QtGui/QStackedWidget>
#include <QtGui/QStatusBar>
#include <QtGui/QTableView>
#include <QtGui/QTextEdit>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>

#endif // __ALLH_H__

вместо всей этой кучи файлов можно писать только #include <QtGui> он уже включает в себя все остальное, у каждого модуля есть такой файл. Причем все модули, включают в себя <QtCore>

Затем прекомпилированный заголовочный файл должен подключатся только в cpp файлах и первым.

И вообще, http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html



Это сообщение отредактировал(а) just_geek - 9.1.2008, 11:01
PM MAIL   Вверх
bsa
Дата 9.1.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



just_geek, в header'ах не надо подключать QtGui. QtGui надо подключать в cpp файлах первой строчкой.
PM   Вверх
archimed7592
Дата 9.1.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 11
Всего: 93



В нашем случае(qmake) pch вообще подключать не нужно smile.


--------------------
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
PM Jabber   Вверх
just_geek
Дата 10.1.2008, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



в all.h, который является precompiled header'ом почему бы и не подключить QtGui.h? смысл тогда от ваших precompiled headers ))
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1174 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.