Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Выпущено обновление Qt 4.5.2 и Qt Creator 1.2

Автор: Litkevich Yuriy 25.6.2009, 17:43

Осло, 25 Июня 2009 – Сегодня Нокия анонсировала выпуск обновлений Qt - библиотеку для разработки кроссплатформенного ПО, и Qt Creator - новая кросплатформенная среда разработки (IDE) Qt-приложений. Оба выпуска доступны как часть новой сборки Qt SDK. Также выпущено обновления Qt Visual Studio Add-in и Qt Eclipse Integration.

Все выпуски доступны для загрузки с http://www.qtsoftware.com/downloads.
http://www.qtsoftware.com/about/news/updates-to-qt-and-qt-creator-released

Изменения:
http://www.qtsoftware.com/developer/changes/changes-4.5.2
http://www.qtsoftware.com/developer/changes/changes-qtcreator-1.2

Автор: molchanoviv 25.6.2009, 17:45

Грохни мой дубль.

Автор: Litkevich Yuriy 25.6.2009, 17:56

Сделал

Автор: Litkevich Yuriy 25.6.2009, 20:17

У программы configure появился ключик:
-ltcg .............. Use Link Time Code Generation. (Release builds only)

Что он значит?

Автор: SABROG 25.6.2009, 20:55

Судя по документации этот ключ только для MSVC и он предназначен для полной оптимизации кода после компиляции на этапе линковки:

Цитата
Cross-module inlining
Interprocedural register allocation (64-bit operating systems only)
Custom calling convention (x86 only)
Small TLS displacement (x86 only)
Stack double alignment (x86 only)
Improved memory disambiguation (better interference information for global variables and input parameters)


С gcc в этом плане ситуация странная, удалось найти только такое (lto - link time optimisation): http://gcc.gnu.org/wiki/LinkTimeOptimization
Но мне кажется это что-то типа экспериментальной поддержки, которая не будет работать без полной перекомпиляции gcc из исходников.

Автор: Litkevich Yuriy 25.6.2009, 21:23

Модуль ScriptTools не собирается:

debugging\qscriptdebuggercodefinderwidgetinterface.cpp:48: error: invalid use of undefined type `struct QScriptDebuggerCodeFinderWidgetInterfacePrivate'
debugging\qscriptdebuggercodefinderwidgetinterface_p.h:62: error: forward declaration of `struct QScriptDebuggerCodeFinderWidgetInterfacePrivate'
debugging\qscriptdebuggercodefinderwidgetinterface.cpp:52: error: invalid use of undefined type `struct QScriptDebuggerCodeFinderWidgetInterfacePrivate'
debugging\qscriptdebuggercodefinderwidgetinterface_p.h:62: error: forward declaration of `struct QScriptDebuggerCodeFinderWidgetInterfacePrivate'
debugging\qscriptdebuggercodefinderwidgetinterface.cpp: In constructor `QScriptDebuggerCodeFinderWidgetInterface::QScriptDebuggerCodeFinderWidgetInterface(QScriptDebuggerCodeFinderWidgetInterfacePrivate&, QWidget*, Qt::WindowFlags)':
debugging\qscriptdebuggercodefinderwidgetinterface.cpp:63: error: no matching function for call to `QWidget::QWidget(QScriptDebuggerCodeFinderWidgetInterfacePrivate&, QWidget*&, Qt::WindowFlags&)'
../../include/QtGui/../../src/gui/kernel/qwidget.h:142: note: candidates are: QWidget::QWidget(const QWidget&)
../../include/QtGui/../../src/gui/kernel/qwidget.h:692: note:                 QWidget::QWidget(QWidgetPrivate&, QWidget*, Qt::WindowFlags)
../../include/QtGui/../../src/gui/kernel/qwidget.h:224: note:                 QWidget::QWidget(QWidget*, Qt::WindowFlags)
mingw32-make[4]: *** [tmp/obj/debug_shared/qscriptdebuggercodefinderwidgetinterface.o] Error 1
mingw32-make[4]: Leaving directory `H:/Qt/4.5.2/src/scripttools'
mingw32-make[3]: *** [debug] Error 2
mingw32-make[3]: Leaving directory `H:/Qt/4.5.2/src/scripttools'
mingw32-make[2]: *** [all] Error 2
mingw32-make[2]: Leaving directory `H:/Qt/4.5.2/src/scripttools'
mingw32-make[1]: *** [sub-scripttools-make_default-ordered] Error 2
mingw32-make[1]: Leaving directory `H:/Qt/4.5.2'
mingw32-make: *** [all] Error 2

H:\Qt\4.5.2>

Автор: SABROG 25.6.2009, 21:54

Для информации, хочу напомнить, что помимо предлагаемых "раздельных" исходников под каждую платформу еще можно скачать полные исходные коды для всех платформ в одном ftp://ftp.qtsoftware.com/qt/source/qt-all-opensource-src-4.5.2.tar.gz: ftp://ftp.qtsoftware.com/qt/source/

Автор: Litkevich Yuriy 25.6.2009, 22:08

Цитата(SABROG @ 26.6.2009, 1:54) *
еще можно скачать полные исходные коды для всех платформ
я собираю из этого: qt-all-opensource-src-4.5.2.tar.bz2

Цитата(Litkevich Yuriy @ 26.6.2009, 1:23) *
Модуль ScriptTools не собирается
Переконфигурил с ключиком -no-scripttools, теперь Асистент в позу встал:
g++ -c -fexceptions -g -mthreads -w -frtti -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQHELP_LIB -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -D_USE_MATH_DEFINES -D_BUILD_FOR_QT_ -DLUCENE_DISABLE_MEMTRACKING -D_CRT_SECURE_NO_DEPRECATE -D_MT -DQT_DLL -DQT_CORE_LIB -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include" -I"h:\Qt\4.5.2\include\QtCLucene" -I"tmp\rcc\debug_shared" -I"tmp" -I"." -I".." -I"..\..\..\..\src\3rdparty\clucene\src\CLucene" -I"..\..\..\..\src\3rdparty\clucene\src" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\analysis" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\analysis\standard" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\config" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\debug" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\document" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\index" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\queryParser" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene
\search" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\store" -I"..\..\..\..\src\3rdparty\clucene\src\CLucene\util" -I"..\..\..\..\include\ActiveQt" -I"tmp\moc\debug_shared" -I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\StandardFilter.o ..\..\..\..\src\3rdparty\clucene\src\CLucene\analysis\standard\StandardFilter.cpp
mingw32-make[7]: *** No rule to make target `../../../../src/3rdparty/clucene/src/CLucene/analysis/standard/StandardTokenizer.cpp', needed by `tmp/obj/debug_shared/StandardTokenizer.o'.  Stop.
mingw32-make[7]: Leaving directory `H:/Qt/4.5.2/tools/assistant/lib/fulltextsearch'
mingw32-make[6]: *** [debug] Error 2
mingw32-make[6]: Leaving directory `H:/Qt/4.5.2/tools/assistant/lib/fulltextsearch'
mingw32-make[5]: *** [all] Error 2
mingw32-make[5]: Leaving directory `H:/Qt/4.5.2/tools/assistant/lib/fulltextsearch'
mingw32-make[4]: *** [sub-lib-fulltextsearch-make_default-ordered] Error 2
mingw32-make[4]: Leaving directory `H:/Qt/4.5.2/tools/assistant'
mingw32-make[3]: *** [all] Error 2
mingw32-make[3]: Leaving directory `H:/Qt/4.5.2/tools/assistant'
mingw32-make[2]: *** [sub-assistant-make_default-ordered] Error 2
mingw32-make[2]: Leaving directory `H:/Qt/4.5.2/tools'
mingw32-make[1]: *** [all] Error 2
mingw32-make[1]: Leaving directory `H:/Qt/4.5.2/tools'
mingw32-make: *** [sub-tools] Error 2

H:\Qt\4.5.2>

Автор: panter_dsd 25.6.2009, 22:18

У меня нормально собралось.

Автор: Litkevich Yuriy 25.6.2009, 22:27

Цитата(Litkevich Yuriy @ 26.6.2009, 2:08) *
No rule to make target `../../../../src/3rdparty/clucene/src/CLucene/analysis/standard/StandardTokenizer.cpp'
конечно его нет, в каталоге лежит:
StandardTokenizer.cpp0000664 и в архиве он такой же ?!?!?!

Автор: SABROG 25.6.2009, 22:31

Цитата(Litkevich Yuriy @ 25.6.2009, 23:27) *
StandardTokenizer.cpp0000664


Это полное название файла или тут пробелов не хватает? 664 это я так понимаю аттрибуты файла.

Автор: Litkevich Yuriy 25.6.2009, 22:39

Цитата(SABROG @ 26.6.2009, 2:31) *
Это полное название файла или тут пробелов не хватает?

Это имя без пути, я поменял его расширение на cpp, пошла компиляция

WinRAR говорит, что в архиве ошибок нет, троли чтоли промахнулись с расширением? Не понятно, как бы они так промахнулись.

Автор: SABROG 25.6.2009, 22:41

Я щас пытаюсь собрать .tar.gz'шный архив, там с именем файла все впорядке.

Автор: Litkevich Yuriy 25.6.2009, 22:49

Цитата(SABROG @ 26.6.2009, 2:41) *
Я щас пытаюсь собрать .tar.gz'шный архив,
что значит собрать? А сами исходники откуда?

Мля опять ЕГОГ:
mingw32-make -f Makefile
mingw32-make[7]: Entering directory `H:/Qt/4.5.2/tools/designer/src/components'
cd lib\ && mingw32-make -f Makefile
mingw32-make[8]: Entering directory `H:/Qt/4.5.2/tools/designer/src/components/lib'
H:/Qt/4.5.2/bin/qmake H:/Qt/4.5.2/tools/designer/src/components/lib/lib.pro  -o Makefile -spec w
WARNING: Failure to find: ..\propertyeditor\designerpropertymanager.cpp
WARNING: Failure to find: ..\signalsloteditor\signalsloteditor_tool.cpp
WARNING: Failure to find: ..\formeditor\qlayoutwidget_propertysheet.cpp
WARNING: Failure to find: ..\tabordereditor\tabordereditor_instance.cpp
WARNING: Failure to find: ..\signalsloteditor\signalsloteditor_plugin.h
WARNING: Failure to find: ..\signalsloteditor\signalsloteditor_global.h
WARNING: Failure to find: ..\propertyeditor\newdynamicpropertydialog.ui
WARNING: Failure to find: ..\propertyeditor\designerpropertymanager.cpp
WARNING: Failure to find: ..\signalsloteditor\signalsloteditor_tool.cpp
WARNING: Failure to find: ..\formeditor\qlayoutwidget_propertysheet.cpp
WARNING: Failure to find: ..\tabordereditor\tabordereditor_instance.cpp
WARNING: Failure to find: ..\signalsloteditor\signalsloteditor_plugin.h
WARNING: Failure to find: ..\signalsloteditor\signalsloteditor_global.h
WARNING: Failure to find: ..\propertyeditor\newdynamicpropertydialog.ui
RCC: Error in '..\formeditor\formeditor.qrc': Cannot find file 'images/mac/edithlayoutsplit.png'
RCC: Error in '..\formeditor\formeditor.qrc': Cannot find file 'images/mac/editvlayoutsplit.png'
RCC: Error in '..\formeditor\formeditor.qrc': Cannot find file 'images/widgets/datetimeedit.png'
RCC: Error in '..\formeditor\formeditor.qrc': Cannot find file 'images/widgets/fontcombobox.png'
...
mingw32-make -f Makefile
mingw32-make[9]: Entering directory `H:/Qt/4.5.2/tools/designer/src/components/lib'
mingw32-make -f Makefile.Debug
mingw32-make[10]: Entering directory `H:/Qt/4.5.2/tools/designer/src/components/lib'
h:\Qt\4.5.2\bin\uic.exe ..\propertyeditor\paletteeditor.ui -o ui_paletteeditor.h
h:\Qt\4.5.2\bin\uic.exe ..\propertyeditor\stringlisteditor.ui -o ui_stringlisteditor.h
h:\Qt\4.5.2\bin\uic.exe ..\propertyeditor\previewwidget.ui -o ui_previewwidget.h
mingw32-make[10]: *** No rule to make target `../propertyeditor/newdynamicpropertydialog.ui', needed by `ui_newdynamicpropertydialog.h'.  Stop.

Походу архив битый, толи скачался криво, может кто-нибудь этот же архив качнуть для сборки?

Автор: SABROG 25.6.2009, 22:56

Цитата(Litkevich Yuriy @ 25.6.2009, 23:49) *
что значит собрать? А сами исходники откуда?


Скомпилить, этот - ftp://ftp.qtsoftware.com/qt/source/qt-all-opensource-src-4.5.2.tar.gz

Нет, ну конечно с названием файлика тролли отожгли: qscriptdebuggercodefinderwidgetinterface.cpp
Форматом 8.3 тут и не пахнет ;)
---
Гг, WebKit не собрался:

D:/work/qt-all-opensource-src-4.5.2/bin/moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE 
-DQT_LARGEFILE_SUPPORT -DBUILDING_QT__=1 -DUSE_SYSTEM_MALLOC -DNDEBUG -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -D_USE_MATH_DEFINES -DBUILD_WEBKIT -D_HAS_TR1=0
-DENABLE_OFFLINE_WEB_APPLICATIONS=1
-DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_DATABASE=1 -DENABLE_DASHBOARD_SUPPORT=0
-DENABLE_XPATH=1 -DENABLE_WML=0 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_FILTERS=1
-DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1
-DENABLE_VIDEO=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1
-DBUILDING_QT__ -DSQLITE_CORE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DQT_DLL -DQT_GUI_LIB
-DQT_NETWORK_LIB -DQT_CORE_LIB @tmp\moc\debug_shared\mocinclude.tmp -D__GNUC__
-DWIN32 ../JavaScriptCore/wtf/qt/MainThreadQt.cpp -o tmp/moc/debug_shared/MainThreadQt.moc
moc: Cannot open options file specified with @
Usage: moc [options] <header-file>
  -o<file>           write output to file rather than stdout
  -I<dir>            add dir to the include path for header files
  -E                 preprocess only; do not generate meta object code
  -D<macro>[=<def>]  define macro, with optional definition
  -U<macro>          undefine macro
  -i                 do not generate an #include statement
  -p<path>           path prefix for included file
  -f[<file>]         force #include, optional file name
  -nw                do not display warnings
  @<file>            read additional options from file
  -v                 display version of moc
mingw32-make[4]: *** [tmp/moc/debug_shared/MainThreadQt.moc] Error 1
mingw32-make[4]: Leaving directory `d:/work/qt-all-opensource-src-4.5.2/src/3rdparty/webkit/WebCore'
mingw32-make[3]: *** [debug-all] Error 2
mingw32-make[3]: Leaving directory `d:/work/qt-all-opensource-src-4.5.2/src/3rdparty/webkit/WebCore'
c:\MinGW\bin\mingw32-make.exe[2]: *** [all] Error 2
c:\MinGW\bin\mingw32-make.exe[2]: Leaving directory `d:/work/qt-all-opensource-src-4.5.2/src/3rdparty/webkit/WebCore'
c:\MinGW\bin\mingw32-make.exe[1]: *** [sub-webkit-make_default-ordered] Error 2
c:\MinGW\bin\mingw32-make.exe[1]: Leaving directory `d:/work/qt-all-opensource-src-4.5.2'
make: *** [all] Error 2


И даже понятно почему - "@tmp\moc\debug_shared\mocinclude.tmp", слэшеги в MSYS обратные должны быть, где-то они накосячили.
---
И еще разок меня с почином:

C:\msys\1.0\bin\make.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
make[1]: *** [debug-all] Error 1
make[1]: Leaving directory `/d/work/qt-all-opensource-src-4.5.2/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] Error 2


И еще разок... Пишут, что regtool должен помочь отсюда: http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html
Да только нет этой утилиты ни в MSYS ни в MinGW.

Автор: AD 25.6.2009, 23:24

Цитата(SABROG @ 25.6.2009, 23:56) *
Нет, ну конечно с названием файлика тролли отожгли: qscriptdebuggercodefinderwidgetinterface.cpp
Форматом 8.3 тут и не пахнет

:lol:
:D
:biggrin2:
Юмористы, е-мое! :))))

Автор: Litkevich Yuriy 25.6.2009, 23:47

Цитата(SABROG @ 26.6.2009, 2:56) *
Гг, WebKit не собрался:
а ScriptTools? собрался?

Цитата(SABROG @ 26.6.2009, 2:56) *
И даже понятно почему - "@tmp\moc\debug_shared\mocinclude.tmp", слэшеги в MSYS обратные должны быть, где-то они накосячили.
зато для виндовоза эти слэши нужны!
Если каталог сырцов от каталога сбоки отличается, то команда смены каталога не работает!

Автор: SABROG 25.6.2009, 23:51

Цитата(Litkevich Yuriy @ 26.6.2009, 0:47) *
а ScriptTools? собрался?


Не знаю, я уже 3ий раз make запускаю, компилит какие-то остатки WebKit'a похоже.

Автор: Litkevich Yuriy 25.6.2009, 23:52

как соберёт ScriptTools или обломается с ним, отпишись.
Я скачал другой архив, вот и жду, компилить с ним или нет.

Автор: SABROG 26.6.2009, 0:04

Цитата(Litkevich Yuriy @ 26.6.2009, 0:52) *
как соберёт ScriptTools или обломается с ним, отпишись.
Я скачал другой архив, вот и жду, компилить с ним или нет.

Лучше запусти, я иду спать, у меня вебкит в дебаг сборке уже 20 минут линкуется.

Автор: Litkevich Yuriy 26.6.2009, 1:03

make sub-src - прошёл удачно

Автор: Litkevich Yuriy 26.6.2009, 1:50

make sub-tools - прошёл удачно

make sub-tools-qdoc3 - прошёл удачно

Автор: Litkevich Yuriy 26.6.2009, 6:47

Обнаружил, что в демке textedit есть возможность сохранять файл в формате odt, а вот открывать нельзя.

Автор: SABROG 26.6.2009, 8:40

Фонон перестал собираться. Пытается тянуть заголовки с MinGW папки, а не KDE.
---
Блин, всего-лишь сделал резервную копию old_ds9.pro, а Qt её подцепил...

Кстати по неизвестной причине я компилю WebKit уже 5 или 6 раз, после make почему-то каждый раз заново собирается.
---
Вроде собралось. Кстати забавно, вопреки моим ожиданием размер файла QtGui4.dll уменьшился на 100кб, по сравнению с версией 4.5.0.
---
Поздравляю тех, кто компилит фонон с MinGW, examples\phonon\capabilities теперь собирается и работает. Видео пашет.

 

Автор: SABROG 26.6.2009, 22:22

Вот думаю, может попробовать пересобрать Qt на новом http://sourceforge.net/project/shownotes.php?release_id=691876 (http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304).
---
Попробовал... ld.exe крашнулся еще на этапе configure.
---
Обновил runtime и bintutils стало нормально.

Автор: Litkevich Yuriy 27.6.2009, 5:33

SABROG, картинку для примера по приличней бы выбрал.

Автор: SABROG 27.6.2009, 10:40

Цитата(Litkevich Yuriy @ 27.6.2009, 6:33) *
SABROG, картинку для примера по приличней бы выбрал.

Приличней не нашлось :lol:

Пытаюсь собрать Qt на gcc 4.4.0, на этот раз мне везет меньше, всё время процесс встает тут:

LL -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB @tmp\\moc\\debug_shared\\mocinclude.tmp -D__GNUC__ -DWIN32 ../JavaScriptCore/wtf/qt/MainThreadQt.cpp -o tmp/moc/d
...
moc: Cannot open options file specified with @
Usage: moc [options] <header-file>
  -o<file>           write output to file rather than stdout
  -I<dir>            add dir to the include path for header files
  -E                 preprocess only; do not generate meta object code
  -D<macro>[=<def>]  define macro, with optional definition
  -U<macro>          undefine macro
  -i                 do not generate an #include statement
  -p<path>           path prefix for included file
  -f[<file>]         force #include, optional file name
  -nw                do not display warnings
  @<file>            read additional options from file
  -v                 display version of moc
make[2]: *** [tmp/moc/debug_shared/MainThreadQt.moc] Error 1


Причем слэши уже менял таким образом:

@tmp\moc\debug_shared\mocinclude.tmp (оригинал)
@tmp/moc/debug_shared/mocinclude.tmp
@tmp\\moc\\debug_shared\\mocinclude.tmp

Ни один из трех не проходит.

Даже нашел место откуда ноги растут:

qt-all-opensource-src-4.5.2\mkspecs\features\moc.prf
#global defaults
isEmpty(QMAKE_MOC) {
    win32:QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
    else:QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
}
isEmpty(MOC_DIR):MOC_DIR = .
isEmpty(QMAKE_H_MOD_MOC):QMAKE_H_MOD_MOC = moc_
isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc

# On Windows, put the includes into a .inc file which moc will read, if the project
# has too many includes. We do this to overcome a command-line limit on Win < XP
INCLUDETEMP=
WIN_INCLUDETEMP=
win32:count($$list($$INCPATH), 40, >) {
    INCLUDETEMP = $$MOC_DIR/mocinclude.tmp

    # Remove any existing mocinclude.tmp when qmake runs
    WIN_INCLUDETEMP=$$INCLUDETEMP
    WIN_INCLUDETEMP~=s,/,\,g
    system($$QMAKE_DEL_FILE $$WIN_INCLUDETEMP > NUL 2>&1)

    EOC = $$escape_expand(\n\t)

    if(contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc")) {
        # the VCPROJ generator will replace the \r\h with the coded \r\n:

        # No other generator understands the \h
        if(win32-msvc.net|win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\r\h)
        else: EOC = $$escape_expand(\\)$$escape_expand(\n\t)
    }

    unset(INCFILELIST)
    RET =
    for(incfile, $$list($$INCPATH)) {
        INCFILELIST = -I$$incfile
        isEmpty(RET): RET += @echo $$INCFILELIST> $$WIN_INCLUDETEMP $$EOC
        else:         RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
    }
    !isEmpty(INCFILELIST):RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC

    build_pass|isEmpty(BUILDS) {
        mocinclude.target = $$INCLUDETEMP
        mocinclude.commands = $$RET
        QMAKE_EXTRA_TARGETS += mocinclude
    }
}


Интересно что ему еще нужно для полного счастья?
---
В этих папках вообще пусто :o:

Автор: Litkevich Yuriy 27.6.2009, 10:59

Цитата(SABROG @ 27.6.2009, 14:40) *
Даже нашел место откуда ноги растут:
ты мэйкфайл смотри. Что за пути странные с собакой??

Автор: SABROG 27.6.2009, 11:24

Цитата(Litkevich Yuriy @ 27.6.2009, 11:59) *
Цитата(SABROG @ 27.6.2009, 14:40) *
Даже нашел место откуда ноги растут:
ты мэйкфайл смотри. Что за пути странные с собакой??


Вот смотри у тебя Windows 2000 и на ней не собирается WebKit, так? А не собирается он из-за ограничения в длинне параметров для программ командной строки в виндах младше WindowsXp. Тролли решили это дело пофиксить через добавление специального ключа @, через который можно указать файл с инклудами. Если я правильно понимаю, то тупо берется скажем 30 .h файлов, содержимое которых пихается в один. В итоге у тебя не 30 -I/longpath/1.h -I/longpath/2.h ... -I/longpath/30.h, а всего один -I/longpath/tmp/allinone.tmp

# On Windows, put the includes into a .inc file which moc will read, if the project
# has too many includes. We do this to overcome a command-line limit on Win < XP


Но они не учли, что подобной проблемы в MSYS нет и пытаются тупо через "win32:" навязать подобный метод компиляции используя команды и пути cmd, а не bash. В итоге я отредактировал makefile'ы и убрал эти инклюды в 24-х местах. Я пока не знаю как себя поведет компилятор, но пока собирается. И совершенно не представляю как у меня собралось в первый раз всё, когда я просто набрал make еще раз.

Т.е. для пользователей cmd проблемы быть не должно.

Автор: Litkevich Yuriy 27.6.2009, 12:40

Хорошо, если троли решили эту проблему, то зачем bash, собирал бы в cmd?

Автор: SABROG 27.6.2009, 12:48

Цитата(Litkevich Yuriy @ 27.6.2009, 13:40) *
Хорошо, если троли решили эту проблему, то зачем bash, собирал бы в cmd?

Вот сижу и собираю. Тока у cmd слабый скриптинг, мелкий размер буффера (прокрутку окна обратно не далеко делает) и у mingw32-make не работает ключ -j, в отличае от make в MSYS, который может запускать параллельно несколько компиляций и дожидаться завершения одной из них, если они зависимы.

Автор: Litkevich Yuriy 27.6.2009, 14:50

Цитата(SABROG @ 27.6.2009, 16:48) *
(прокрутку окна обратно не далеко делает)
а ты через свойства окна поменяй.

Автор: SABROG 27.6.2009, 16:15

Собрал Qt новым MinGW. Для интереса сравнил размеры файлов, которые получились от старого и нового gcc.



Общая сумма размеров файлов на:
старом: 363Мб
новом: 514Мб

Если брать отдельные версии сборок, то релизные dll'ки в сумме составили на:
старом: 52Мб
новом: 39Мб

дебажные на:
старом: 310Мб
новом: 474Мб

Т.е. оптимизация по размеру улучшена. По скорости, к сожалению, сравнить не могу.

Автор: Litkevich Yuriy 27.6.2009, 17:09

А время сборки как-то заметно изменилось?

Автор: SABROG 27.6.2009, 17:51

Цитата(Litkevich Yuriy @ 27.6.2009, 18:09) *
А время сборки как-то заметно изменилось?

Я как-то не замерял, т.к. в прошлый раз на ночь оставлял, а на этот раз собралось часа за 2.

Кстати дизайнер у меня затребовал еще файлик libgcc_s_dw2-1.dll помимо mingwm10.dll. Во

Цитата
- Dynamic linking with libgcc_s_dw2-1.dll

Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw
exceptions between different modules, such as between two DLLs or a
DLL and an EXE. Consequently, it is the default for all languages
other than C. To disable this dynamic linking, use -static-libgcc.
To enable this dynamic linking in C, use -shared-libgcc.


Т.е. теперь и его чтоль тянуть надо всегда?

Автор: Litkevich Yuriy 29.6.2009, 4:16

Цитата(SABROG @ 27.6.2009, 16:48) *
у mingw32-make не работает ключ -j, в отличае от make в MSYS
Цитата
jom is a clone of nmake to support the execution of several commands at once.
It adds the -j command line switch similar to GNU make.
http://qt.gitorious.org/qt-labs/jom

Автор: SABROG 29.6.2009, 8:15

Цитата(Litkevich Yuriy @ 29.6.2009, 5:16) *
similar

Аналогичный переключатель как и у GNU Make. Я нигде не нашел упоминания о том, что его можно использовать с MinGW.

Автор: Tonal 29.6.2009, 10:40

При компиляции PyQt ключик -j нормально работает в mingw32-make.
Я правлю руками makefile сгенерённый при configure.
Правда при этом я убираю SH из путей - PyQt с ним не компилиться. :(

А вот при компиляции самой Qt ключик не работает.
Почему - не знаю.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)