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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [4.5.0] Ошибка при статической сборке (сбивается на QtWebKit.lib)  (Прочитано 11992 раз)
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« : Март 04, 2009, 08:26 »

Qt 4.5.0 релиз
MS VS 2008 +SP1
Windows SDK 6.0, 6.1

Опции сборки Qt:
Код:
-release 
-static
-fast
-no-exceptions
-accessibility
-qt-sql-sqlite
-no-qt3support
-platform
win32-msvc2008
-L
E:\Dev\OpenSSL\openssl-0.9.8i-win32-static\lib
-I
E:\Dev\OpenSSL\openssl-0.9.8i-win32-static\include
-qt-zlib
-qt-gif
-qt-libmng
-qt-libpng
-qt-libtiff
-qt-libjpeg
-qmake
-process
-rtti
-openssl
-phonon
-phonon-backend
-webkit
-scripttools
-saveconfig
2

nmake стопорится на:
..\..\..\..\lib\QtWebKit.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x48E9BA97

Код:
...
qrc_WebKit.cpp
qrc_WebCore.cpp
        lib /NOLOGO  /OUT:..\..\..\..\lib\QtWebKit.lib @C:\DOCUME~1\MA\LOCALS~1\
Temp\nmB33.tmp
QtWebKit_pch.obj : MSIL .netmodule or module compiled with /GL found; restarting
 link with /LTCG; add /LTCG to the link command line to improve linker performan
ce
..\..\..\..\lib\QtWebKit.lib : fatal error LNK1106: invalid file or disk full: c
annot seek to 0x48E9BA97
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\lib.EXE"' : return code '0x452'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.EXE"' : return code '0x2'
Stop.

У кого-нибудь 4.5.0 релиз статически собрался вместе с вебкитом?

P.S. Динамический билд с теми же опциями собирается отлично.
« Последнее редактирование: Март 04, 2009, 13:31 от vipet » Записан
LestorN
Гость
« Ответ #1 : Март 04, 2009, 08:30 »

..\..\..\..\lib\QtWebKit.lib : fatal error LNK1106: invalid file or disk full: c
annot seek to 0x48E9BA97

На диске место точно есть?
Записан
BRE
Гость
« Ответ #2 : Март 04, 2009, 08:32 »

nmake стопорится на:
..\..\..\..\lib\QtWebKit.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x48E9BA97
А место на диске много?

Афигеть, QtWebKit.lib под 1,2 Гб.
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #3 : Март 04, 2009, 12:23 »

На диске еще 20 гигов свободно.
(RAM 4 гига, на диске, где файл подкачки и temp тоже полно места)

Читал, что workaround'ом может быть опция линкера IGNOREIDL, пока не знаю куда сувать ее
« Последнее редактирование: Март 04, 2009, 12:28 от vipet » Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #4 : Март 04, 2009, 12:44 »

на всякий случай сделал свободными 40 гигов - не помогло
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #5 : Март 04, 2009, 14:46 »

вобщем проблема остается при статической сборке и с минимальным набором опций.

Вопрос тот же: У кого-нибудь статически собралась Qt 4.5.0 (релиз) с вебкитом? Если да, то какой компилятор (и опции)?
Записан
Dimyan
Гость
« Ответ #6 : Март 09, 2009, 15:26 »

Статическая установка qt-win-commercial-src-4.5.0
------------------------------------------------------------------------------------------------------

1) Переменные окружения установить:

   QtDir = C:\Qt\4.5.0

   PATH = PATH+=%QTDIR%\bin

-----------------------------------------------------------------------------------------------------

2) Изменить файл C:\Qt\4.5.0\mkspecs\win32-msvc2008\qmake.conf:

До
   QMAKE_CFLAGS_RELEASE    = -O2 -MD -GL
   QMAKE_CFLAGS_DEBUG      = -Zi -MDd

После, с оптимизацией
   QMAKE_CFLAGS_RELEASE    = -O2 -MT -GL
   QMAKE_CFLAGS_DEBUG      = -Zi -MTd

Или, без оптимизации
   QMAKE_CFLAGS_RELEASE    = -O2 -MT
   QMAKE_CFLAGS_DEBUG      = -Zi -MTd

------------------------------------------------------------------------------------------------------

3) Изменить файлы "C:\Qt\4.5.0\mkspecs\features\win32\embed_manifest_dll.prf"
и "C:\Qt\4.5.0\mkspecs\features\win32\embed_manifest_exe.prf":

До
   QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2$$escape_expand(\n\t))

После
   QMAKE_POST_LINK = $$quote(@if exist \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2$$escape_expand(\n\t))

------------------------------------------------------------------------------------------------------

4) Из "Visual Studio 2008 Command Prompt" запустить:

   C:

   cd Qt\4.5.0

   configure -static -platform win32-msvc2008 -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite ......

------------------------------------------------------------------------------------------------------

5) Если в файле C:\Qt\4.5.0\mkspecs\win32-msvc2008\qmake.conf была включена оптимизация (-GL), то изменить следующие файлы:
"С:\Qt\4.5.0.vs2008.static\src\phonon\Makefile.Release"
   
До
   CFLAGS        = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -GL -W3 $(DEFINES)
   CXXFLAGS      = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -GL -W3 -w34100 -w34189 -GR -EHsc $(DEFINES)

После
   CFLAGS        = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -W3 $(DEFINES)
   CXXFLAGS      = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -W3 -w34100 -w34189 -GR -EHsc $(DEFINES)


И файл "С:\Qt\4.5.0.vs2008.static\src\3rdparty\webkit\WebCore\Makefile.Release":

До
   CFLAGS        = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -GL $(DEFINES)
   CXXFLAGS      = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -GL -GR -EHsc $(DEFINES)

После
   CFLAGS        = -nologo -Zm200 -Zc:wchar_t- -O2 -MT $(DEFINES)
   CXXFLAGS      = -nologo -Zm200 -Zc:wchar_t- -O2 -MT -GR -EHsc $(DEFINES)

------------------------------------------------------------------------------------------------------

6) Из "Visual Studio 2008 Command Prompt" запустить:

   nmake sub-src
« Последнее редактирование: Март 09, 2009, 15:32 от Dimyan » Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #7 : Март 09, 2009, 15:38 »

Dimyan,

Спасибо за подробные инструкции. Сейчас попробую.

А вообще насчет статической сборки с вебкитом - баг подтвердили и была создана таска 247431:
http://www.qtsoftware.com/developer/task-tracker/index_html?id=247431&method=entry

Priority:   1 - Highest     Scheduled for:   4.5.1
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #8 : Март 10, 2009, 11:21 »

Да, убрав опцию -GL из Makefile'ов всё собралось!
Записан
Spicos
Гость
« Ответ #9 : Март 11, 2009, 09:58 »

MSVC 2008EE RUS SP1
PlatformSDK_Svr2003R2
DXSDK_Nov08

Тока не работает.))
Из D:\Qt\4.5.0\examples\phonon\musicplayer\

1>------ Построение начато: проект: musicplayer, Конфигурация: Release Win32 ------
1>MOC mainwindow.h
1>Компиляция...
1>moc_mainwindow.cpp
1>mainwindow.cpp
1>main.cpp
1>Создание кода...
1>Компоновка...
1>   Создается библиотека release\musicplayer.lib и объект release\musicplayer.exp
1>main.obj : warning LNK4217: локально определенный символ ??1MediaSource@Phonon@@QAE@XZ (public: __thiscall Phonon::MediaSource::~MediaSource(void)) импортирован в функцию "public: void * __thiscall Phonon::MediaSource::`scalar deleting destructor'(unsigned int)" (??_GMediaSource@Phonon@@QAEPAXI@Z)
1>mainwindow.obj : warning LNK4049: импортирован локально определенный символ ??1MediaSource@Phonon@@QAE@XZ (public: __thiscall Phonon::MediaSource::~MediaSource(void))
1>mainwindow.obj : warning LNK4217: локально определенный символ ??0MediaSource@Phonon@@QAE@ABV01@@Z (public: __thiscall Phonon::MediaSource::MediaSource(class Phonon::MediaSource const &)) импортирован в функцию "private: void __thiscall QList<class Phonon::MediaSource>::node_construct(struct QList<class Phonon::MediaSource>::Node *,class Phonon::MediaSource const &)" (?node_construct@?$QList@VMediaSource@Phonon@@@@AAEXPAUNode@1@ABVMediaSource@Phonon@@@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?errorString@MediaObject@Phonon@@QBE?AVQString@@XZ (public: class QString __thiscall Phonon::MediaObject::errorString(void)const ) импортирован в функцию "private: void __thiscall MainWindow::stateChanged(enum Phonon::State,enum Phonon::State)" (?stateChanged@MainWindow@@AAEXW4State@Phonon@@0@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?errorType@MediaObject@Phonon@@QBE?AW4ErrorType@2@XZ (public: enum Phonon::ErrorType __thiscall Phonon::MediaObject::errorType(void)const ) импортирован в функцию "private: void __thiscall MainWindow::stateChanged(enum Phonon::State,enum Phonon::State)" (?stateChanged@MainWindow@@AAEXW4State@Phonon@@0@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??8MediaSource@Phonon@@QBE_NABV01@@Z (public: bool __thiscall Phonon::MediaSource::operator==(class Phonon::MediaSource const &)const ) импортирован в функцию "public: int __thiscall QList<class Phonon::MediaSource>::indexOf(class Phonon::MediaSource const &,int)const " (?indexOf@?$QList@VMediaSource@Phonon@@@@QBEHABVMediaSource@Phonon@@H@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?enqueue@MediaObject@Phonon@@QAEXABVMediaSource@2@@Z (public: void __thiscall Phonon::MediaObject::enqueue(class Phonon::MediaSource const &)) импортирован в функцию "private: void __thiscall MainWindow::aboutToFinish(void)" (?aboutToFinish@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?currentSource@MediaObject@Phonon@@QBE?AVMediaSource@2@XZ (public: class Phonon::MediaSource __thiscall Phonon::MediaObject::currentSource(void)const ) импортирован в функцию "private: void __thiscall MainWindow::aboutToFinish(void)" (?aboutToFinish@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?setAudioOutput@VolumeSlider@Phonon@@QAEXPAVAudioOutput@2@@Z (public: void __thiscall Phonon::VolumeSlider::setAudioOutput(class Phonon::AudioOutput *)) импортирован в функцию "private: void __thiscall MainWindow::setupUi(void)" (?setupUi@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??0VolumeSlider@Phonon@@QAE@PAVQWidget@@@Z (public: __thiscall Phonon::VolumeSlider::VolumeSlider(class QWidget *)) импортирован в функцию "private: void __thiscall MainWindow::setupUi(void)" (?setupUi@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?setMediaObject@SeekSlider@Phonon@@QAEXPAVMediaObject@2@@Z (public: void __thiscall Phonon::SeekSlider::setMediaObject(class Phonon::MediaObject *)) импортирован в функцию "private: void __thiscall MainWindow::setupUi(void)" (?setupUi@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??0SeekSlider@Phonon@@QAE@PAVQWidget@@@Z (public: __thiscall Phonon::SeekSlider::SeekSlider(class QWidget *)) импортирован в функцию "private: void __thiscall MainWindow::setupUi(void)" (?setupUi@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??1SeekSlider@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::SeekSlider::~SeekSlider(void)) импортирован в функцию "public: virtual void * __thiscall Phonon::SeekSlider::`scalar deleting destructor'(unsigned int)" (??_GSeekSlider@Phonon@@UAEPAXI@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??1VolumeSlider@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::VolumeSlider::~VolumeSlider(void)) импортирован в функцию "public: virtual void * __thiscall Phonon::VolumeSlider::`scalar deleting destructor'(unsigned int)" (??_GVolumeSlider@Phonon@@UAEPAXI@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??1Path@Phonon@@QAE@XZ (public: __thiscall Phonon::Path::~Path(void)) импортирован в функцию "public: __thiscall MainWindow::MainWindow(void)" (??0MainWindow@@QAE@XZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?createPath@Phonon@@YA?AVPath@1@PAVMediaNode@1@0@Z (class Phonon::Path __cdecl Phonon::createPath(class Phonon::MediaNode *,class Phonon::MediaNode *)) импортирован в функцию "public: __thiscall MainWindow::MainWindow(void)" (??0MainWindow@@QAE@XZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?setTickInterval@MediaObject@Phonon@@QAEXH@Z (public: void __thiscall Phonon::MediaObject::setTickInterval(int)) импортирован в функцию "public: __thiscall MainWindow::MainWindow(void)" (??0MainWindow@@QAE@XZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??0MediaObject@Phonon@@QAE@PAVQObject@@@Z (public: __thiscall Phonon::MediaObject::MediaObject(class QObject *)) импортирован в функцию "public: __thiscall MainWindow::MainWindow(void)" (??0MainWindow@@QAE@XZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??0AudioOutput@Phonon@@QAE@W4Category@1@PAVQObject@@@Z (public: __thiscall Phonon::AudioOutput::AudioOutput(enum Phonon::Category,class QObject *)) импортирован в функцию "public: __thiscall MainWindow::MainWindow(void)" (??0MainWindow@@QAE@XZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??1AbstractAudioOutput@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::AbstractAudioOutput::~AbstractAudioOutput(void)) импортирован в функцию "public: virtual void * __thiscall Phonon::AudioOutput::`scalar deleting destructor'(unsigned int)" (??_GAudioOutput@Phonon@@UAEPAXI@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??1MediaObject@Phonon@@UAE@XZ (public: virtual __thiscall Phonon::MediaObject::~MediaObject(void)) импортирован в функцию "public: virtual void * __thiscall Phonon::MediaObject::`scalar deleting destructor'(unsigned int)" (??_GMediaObject@Phonon@@UAEPAXI@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?setCurrentSource@MediaObject@Phonon@@QAEXABVMediaSource@2@@Z (public: void __thiscall Phonon::MediaObject::setCurrentSource(class Phonon::MediaSource const &)) импортирован в функцию "private: void __thiscall MainWindow::addFiles(void)" (?addFiles@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ??0MediaSource@Phonon@@QAE@ABVQString@@@Z (public: __thiscall Phonon::MediaSource::MediaSource(class QString const &)) импортирован в функцию "private: void __thiscall MainWindow::addFiles(void)" (?addFiles@MainWindow@@AAEXXZ)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?play@MediaObject@Phonon@@QAEXXZ (public: void __thiscall Phonon::MediaObject::play(void)) импортирован в функцию "private: void __thiscall MainWindow::tableClicked(int,int)" (?tableClicked@MainWindow@@AAEXHH@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?clearQueue@MediaObject@Phonon@@QAEXXZ (public: void __thiscall Phonon::MediaObject::clearQueue(void)) импортирован в функцию "private: void __thiscall MainWindow::tableClicked(int,int)" (?tableClicked@MainWindow@@AAEXHH@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?stop@MediaObject@Phonon@@QAEXXZ (public: void __thiscall Phonon::MediaObject::stop(void)) импортирован в функцию "private: void __thiscall MainWindow::tableClicked(int,int)" (?tableClicked@MainWindow@@AAEXHH@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?state@MediaObject@Phonon@@QBE?AW4State@2@XZ (public: enum Phonon::State __thiscall Phonon::MediaObject::state(void)const ) импортирован в функцию "private: void __thiscall MainWindow::tableClicked(int,int)" (?tableClicked@MainWindow@@AAEXHH@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?fileName@MediaSource@Phonon@@QBE?AVQString@@XZ (public: class QString __thiscall Phonon::MediaSource::fileName(void)const ) импортирован в функцию "private: void __thiscall MainWindow::metaStateChanged(enum Phonon::State,enum Phonon::State)" (?metaStateChanged@MainWindow@@AAEXW4State@Phonon@@0@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?metaData@MediaObject@Phonon@@QBE?AV?$QMultiMap@VQString@@V1@@@XZ (public: class QMultiMap<class QString,class QString> __thiscall Phonon::MediaObject::metaData(void)const ) импортирован в функцию "private: void __thiscall MainWindow::metaStateChanged(enum Phonon::State,enum Phonon::State)" (?metaStateChanged@MainWindow@@AAEXW4State@Phonon@@0@Z)
1>mainwindow.obj : warning LNK4217: локально определенный символ ?type@MediaSource@Phonon@@QBE?AW4Type@12@XZ (public: enum Phonon::MediaSource::Type __thiscall Phonon::MediaSource::type(void)const ) импортирован в функцию "private: void __thiscall MainWindow::metaStateChanged(enum Phonon::State,enum Phonon::State)" (?metaStateChanged@MainWindow@@AAEXW4State@Phonon@@0@Z)
1>Внедрение манифеста...
1>Журнал построения был сохранен в "file://d:\Qt\4.5.0\examples\phonon\musicplayer\tmp\obj\release_static\BuildLog.htm"
1>musicplayer - ошибок 0, предупреждений 30
========== Построение: успешно: 1, с ошибками: 0, без изменений: 0, пропущено: 0 ==========
Запускается, тока файлы не добавляет соответсвенно и не проигрывает.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #10 : Март 14, 2009, 03:41 »

Спасибо за пост! И мне помогло
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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