Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выпущено обновление Qt 4.5.2 и Qt Creator 1.2
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
Litkevich Yuriy
Осло, 25 Июня 2009 – Сегодня Нокия анонсировала выпуск обновлений Qt - библиотеку для разработки кроссплатформенного ПО, и Qt Creator - новая кросплатформенная среда разработки (IDE) Qt-приложений. Оба выпуска доступны как часть новой сборки Qt SDK. Также выпущено обновления Qt Visual Studio Add-in и Qt Eclipse Integration.

Все выпуски доступны для загрузки с http://www.qtsoftware.com/downloads.
Официальная страница новости

Изменения:
Qt-4.5.2
Qt Creator 1.2
molchanoviv
Грохни мой дубль.
Litkevich Yuriy
Сделал
Litkevich Yuriy
У программы configure появился ключик:
-ltcg .............. Use Link Time Code Generation. (Release builds only)

Что он значит?
SABROG
Судя по документации этот ключ только для 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
Модуль 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
Для информации, хочу напомнить, что помимо предлагаемых "раздельных" исходников под каждую платформу еще можно скачать полные исходные коды для всех платформ в одном архиве: ftp://ftp.qtsoftware.com/qt/source/
Litkevich Yuriy
Цитата(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
У меня нормально собралось.
Litkevich Yuriy
Цитата(Litkevich Yuriy @ 26.6.2009, 2:08) *
No rule to make target `../../../../src/3rdparty/clucene/src/CLucene/analysis/standard/StandardTokenizer.cpp'
конечно его нет, в каталоге лежит:
StandardTokenizer.cpp0000664 и в архиве он такой же ?!?!?!
SABROG
Цитата(Litkevich Yuriy @ 25.6.2009, 23:27) *
StandardTokenizer.cpp0000664


Это полное название файла или тут пробелов не хватает? 664 это я так понимаю аттрибуты файла.
Litkevich Yuriy
Цитата(SABROG @ 26.6.2009, 2:31) *
Это полное название файла или тут пробелов не хватает?

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

WinRAR говорит, что в архиве ошибок нет, троли чтоли промахнулись с расширением? Не понятно, как бы они так промахнулись.
SABROG
Я щас пытаюсь собрать .tar.gz'шный архив, там с именем файла все впорядке.
Litkevich Yuriy
Цитата(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
Цитата(Litkevich Yuriy @ 25.6.2009, 23:49) *
что значит собрать? А сами исходники откуда?


Скомпилить, этот - ftp://ftp.qtsoftware.com/qt/source/qt-all...rc-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
Цитата(SABROG @ 25.6.2009, 23:56) *
Нет, ну конечно с названием файлика тролли отожгли: qscriptdebuggercodefinderwidgetinterface.cpp
Форматом 8.3 тут и не пахнет

:lol:
:D
:biggrin2:
Юмористы, е-мое! :))))
Litkevich Yuriy
Цитата(SABROG @ 26.6.2009, 2:56) *
Гг, WebKit не собрался:
а ScriptTools? собрался?

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


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

Лучше запусти, я иду спать, у меня вебкит в дебаг сборке уже 20 минут линкуется.
Litkevich Yuriy
make sub-src - прошёл удачно
Litkevich Yuriy
make sub-tools - прошёл удачно

make sub-tools-qdoc3 - прошёл удачно
Litkevich Yuriy
Обнаружил, что в демке textedit есть возможность сохранять файл в формате odt, а вот открывать нельзя.
SABROG
Фонон перестал собираться. Пытается тянуть заголовки с MinGW папки, а не KDE.
---
Блин, всего-лишь сделал резервную копию old_ds9.pro, а Qt её подцепил...

Кстати по неизвестной причине я компилю WebKit уже 5 или 6 раз, после make почему-то каждый раз заново собирается.
---
Вроде собралось. Кстати забавно, вопреки моим ожиданием размер файла QtGui4.dll уменьшился на 100кб, по сравнению с версией 4.5.0.
---
Поздравляю тех, кто компилит фонон с MinGW, examples\phonon\capabilities теперь собирается и работает. Видео пашет.
SABROG
Вот думаю, может попробовать пересобрать Qt на новом MinGW (скачать).
---
Попробовал... ld.exe крашнулся еще на этапе configure.
---
Обновил runtime и bintutils стало нормально.
Litkevich Yuriy
SABROG, картинку для примера по приличней бы выбрал.
SABROG
Цитата(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
Цитата(SABROG @ 27.6.2009, 14:40) *
Даже нашел место откуда ноги растут:
ты мэйкфайл смотри. Что за пути странные с собакой??
SABROG
Цитата(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
Хорошо, если троли решили эту проблему, то зачем bash, собирал бы в cmd?
SABROG
Цитата(Litkevich Yuriy @ 27.6.2009, 13:40) *
Хорошо, если троли решили эту проблему, то зачем bash, собирал бы в cmd?

Вот сижу и собираю. Тока у cmd слабый скриптинг, мелкий размер буффера (прокрутку окна обратно не далеко делает) и у mingw32-make не работает ключ -j, в отличае от make в MSYS, который может запускать параллельно несколько компиляций и дожидаться завершения одной из них, если они зависимы.
Litkevich Yuriy
Цитата(SABROG @ 27.6.2009, 16:48) *
(прокрутку окна обратно не далеко делает)
а ты через свойства окна поменяй.
SABROG
Собрал Qt новым MinGW. Для интереса сравнил размеры файлов, которые получились от старого и нового gcc.



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

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

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

Т.е. оптимизация по размеру улучшена. По скорости, к сожалению, сравнить не могу.
Litkevich Yuriy
А время сборки как-то заметно изменилось?
SABROG
Цитата(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
Цитата(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.
тык
SABROG
Цитата(Litkevich Yuriy @ 29.6.2009, 5:16) *
similar

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

А вот при компиляции самой Qt ключик не работает.
Почему - не знаю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.