Russian Qt Forum
Май 03, 2024, 17:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 14 15 [16]
226  Qt / Установка, сборка, отладка, тестирование / Re: Распараллеливание компиляции : Март 10, 2011, 18:26
Windows  MinGW
Добавляем поддержку паралельной компиляции MinGW в qmake:

Итак, что нужно :
1. Свободное время, ~10 минут

2. Изменить файлы
qt/qmake/generators/makefile.cpp
qt/qmake/generators/mac/pbuilder_pbx.cpp
qt/qmake/generators/symbian/symmake.cpp
qt/qmake/generators/symbian/symmake_abld.cpp


Найти в исходниках ключ -f,   и везде, где встречяется упоминание типа:
   $(MAKE) -f       или     makefilein = " -f "         или   "make -C -f "
поменять на                                                                              
   $(MAKE) -j9 -f  или     makefilein = " -j9 -f "    или   "make -C -j9 -f "

Где: ключ -j (Джоб)  указывает количество одновременно выполняемых потоков компиляции (в моем случае девять).

Кол-во потоков компиляции выбираем равным числу ядер процессора + 1 или +2.

Для процессоров ай7 или других с поддержкой гипертрейдинга
Кол-во потоков компиляции выбираем равным числу ядер умножить на два + 1 либо +2, либо +3.

Перед сборкой qmake необходимо прописать Qt-шные пути в файле
qt/src/corelib/global/qconfig.cpp
Код
C++ (Qt)
static const char qt_configure_prefix_path_str       [512 + 12] = "qt_prfxpath=C:\\qt\\2010.05\\qt";
static const char qt_configure_documentation_path_str[512 + 12] = "qt_docspath=C:\\qt\\2010.05\\qt\\doc";
static const char qt_configure_headers_path_str      [512 + 12] = "qt_hdrspath=C:\\qt\\2010.05\\qt\\include";
static const char qt_configure_libraries_path_str    [512 + 12] = "qt_libspath=C:\\qt\\2010.05\\qt\\lib";
static const char qt_configure_binaries_path_str     [512 + 12] = "qt_binspath=C:\\qt\\2010.05\\qt\\bin";
static const char qt_configure_plugins_path_str      [512 + 12] = "qt_plugpath=C:\\qt\\2010.05\\qt\\plugins";
static const char qt_configure_imports_path_str      [512 + 12] = "qt_impspath=C:\\qt\\2010.05\\qt\\imports";
static const char qt_configure_data_path_str         [512 + 12] = "qt_datapath=C:\\qt\\2010.05\\qt";
static const char qt_configure_translations_path_str [512 + 12] = "qt_trnspath=C:\\qt\\2010.05\\qt\\translations";
static const char qt_configure_examples_path_str     [512 + 12] = "qt_xmplpath=C:\\qt\\2010.05\\qt\\examples";
static const char qt_configure_demos_path_str        [512 + 12] = "qt_demopath=C:\\qt\\2010.05\\qt\\demos";
 
/*
static const char qt_configure_prefix_path_str       [512 + 12] = "qt_prfxpath=C:\\qt-greenhouse\\Trolltech\\Code_less_create_more\\Trolltech\\Code_less_create_more\\Troll\\4.6\\qt";
static const char qt_configure_documentation_path_str[512 + 12] = "qt_docspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/doc";
static const char qt_configure_headers_path_str      [512 + 12] = "qt_hdrspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/include";
static const char qt_configure_libraries_path_str    [512 + 12] = "qt_libspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/lib";
static const char qt_configure_binaries_path_str     [512 + 12] = "qt_binspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/bin";
static const char qt_configure_plugins_path_str      [512 + 12] = "qt_plugpath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/plugins";
static const char qt_configure_imports_path_str      [512 + 12] = "qt_impspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/imports";
static const char qt_configure_data_path_str         [512 + 12] = "qt_datapath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt";
static const char qt_configure_translations_path_str [512 + 12] = "qt_trnspath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/translations";
static const char qt_configure_examples_path_str     [512 + 12] = "qt_xmplpath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/examples";
static const char qt_configure_demos_path_str        [512 + 12] = "qt_demopath=C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt/demos";
*/

 


3. Сохраняем текущий qmake под ничего незначащим именем qmake-original (как говориться на всякий пожарный случай)
copy   C:\qt\2010.05\qt\bin\qmake.exe   C:\qt\2010.05\qt\bin\qmake-original.exe

4. После всех действий остается выполнить несколько команд

cd C:\qt\2010.05\qt\qmake
C:\qt\2010.05\qt\bin\qmake.exe
C:\qt\2010.05\mingw\bin\mingw32-make -j9 -f Makefile.Release


И наслаждаемся! )))

Будет приятно, если эта информация кому нибудь пригодится!


227  Qt / Дополнительные компоненты / Re: Qtitan Ribbon - компонент риббонов для Qt : Март 10, 2011, 15:07
Такое может быть из-за разных версий библиотек Qt, с которыми собран плугин и дизайнер (креатор).


Родной QtCreator я отправил в топку.  Собрал свой с родными библиотеками.

Qt 4.7.0 MinGW 4.4.0
QtCreator 2.0.1 Был собран мной в MinGW для поддержки plugins\designer\*.dll во встроенном дизайнере.

qtcreator.exe  и   designer.exe  ведут себя одинаково в WinXP и Win7

Краш на Win7  
Нет визуального отображения компонентов на панели виджетов   в WinXP

Линукс версию сейчас нет возможности проверить.
228  Qt / Дополнительные компоненты / Re: Qtitan Ribbon - компонент риббонов для Qt : Март 09, 2011, 12:57
Интересный компонент!
Я выступаю в роли свободного тестера.

Windows XP
Дизайнер не может подгрузить плагин компонента. Хотя в список загруженных он попал.

Windows 7
Попытки подгрузить плагин приводит к крашу Creator | Designer
Страниц: 1 ... 14 15 [16]

Страница сгенерирована за 0.148 секунд. Запросов: 23.