Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Andrew Vladoff от Март 26, 2009, 20:43



Название: Установка Qt 4.5.0 в win64 VS2008
Отправлено: Andrew Vladoff от Март 26, 2009, 20:43
Кто расскажет как устанавливать Qt на win64 платформу? Среда VS2008.


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: pastor от Март 26, 2009, 21:14
Это безпроблем. Я написал вот такой батник:

Код
DOS
@set QTDIR=D:\Develop\Libraries\Qt\4.5.0_vs2008
@set QMAKESPEC=win32-msvc2008
 
@set PATH=%QTDIR%\bin;%QTDIR%\plugins\designer;D:\Develop\Libraries\OpenSSL\bin;%PATH%
@set INCLUDE=%QTDIR%\include;D:\Develop\Libraries\OpenSSL\include;%INCLUDE%
@set LIB=%QTDIR%\lib;D:\Develop\Libraries\OpenSSL\lib\VC;%LIB%
 
@call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" amd64

Запускаешь этот батник в консоле, далее configure и nmake

Аналогично собираю и другие версии Qt x64


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: Andrew Vladoff от Март 26, 2009, 22:13
ОК! спасибо! Завтра попробую


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: Andrew Vladoff от Март 28, 2009, 09:33
Спасибо всё скомпилировалось! А статическая версия под х64 собирается так же как и под win32?


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: pastor от Март 28, 2009, 09:41
Абсолютно все также.


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: Andrew Vladoff от Апрель 03, 2009, 11:10
Попробовал скомпилировать Qt статическую версию для x64 платформы. В процессе выполнения команды nmake появилась следующая ошибка:
Код:
LINK : fatal error LNK1248: размер образа (80143FEE) превышает максимально допус
тимый размер (80000000)
NMAKE : неустранимая ошибка U1077: "c:\Program Files (x86)\Microsoft Visual Stud
io 9.0\VC\BIN\amd64\lib.EXE": возвращенный код "0x451"
Stop.
NMAKE : неустранимая ошибка U1077: "c:\Program Files (x86)\Microsoft Visual Stud
io 9.0\VC\BIN\amd64\nmake.exe": возвращенный код "0x2"
Stop.
NMAKE : неустранимая ошибка U1077: cd: возвращенный код "0x2"
Stop.

C:\Qt\4.5.0_x64_static>nmake



Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: pastor от Апрель 03, 2009, 11:55
Покажи опции конфигурации Qt.

По поводу ошибки:

Цитировать
Error Message
image size ('size') exceeds maximum allowable size (80000000)


The linker determined that the size of the output file will exceed the largest possible size for a program image. You may want to make your program into multiple DLLs. For more information on the program executable (PE), see the article "Peering Inside the PE: A Tour of the Win32 Portable Executable File Format" in the MSDN Library.



Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: xokc от Апрель 03, 2009, 18:31
Поищи в форуме - недавно такой баг обсуждали. И, насколько я помню, там дело не Win64, а в статике. Вроде бы так вебкит не собирался.


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: Andrew Vladoff от Апрель 07, 2009, 20:29
Не получается собрать статически Qt!

Прбовал 1 способом, точно так же как и динамически, но с конфигурацией
Код:
configure.exe -static -debug-and-release -no-exceptions -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -no-openssl

Вылетает ошибка приведенная ранее.

Способом 2

Код:
Статическая установка 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.exe -static -platform win32-msvc2008 -debug-and-release -no-exceptions -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -no-openssl


Вылетает ошибка после nmake

Код:
        link /NOLOGO /INCREMENTAL:NO /LTCG /SUBSYSTEM:CONSOLE /MANIFEST /MANIFES
TFILE:"release\moc.intermediate.manifest" /OUT:..\..\..\bin\moc.exe @C:\DOCUME~1
\ADMINI~1\LOCALS~1\Temp\nm1AFF.tmp
MSVCRT.lib(MSVCR90.dll) : error LNK2005: realloc уже определен в LIBCMT.lib(real
loc.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __cdecl type_info::type_info(
class type_info const &)" (??0type_info@@AEAA@AEBV0@@Z) уже определен в LIBCMT.l
ib(typinfo.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __cdecl typ
e_info::operator=(class type_info const &)" (??4type_info@@AEAAAEAV0@AEBV0@@Z) у
же определен в LIBCMT.lib(typinfo.obj)
LINK : warning LNK4098: библиотека по умолчанию "MSVCRT" противоречит использова
нию других библиотек; используйте параметр /NODEFAULTLIB:library
..\..\..\bin\moc.exe : fatal error LNK1169: обнаружен многократно определенный с
имвол - один или более
NMAKE : неустранимая ошибка U1077: "c:\Program Files (x86)\Microsoft Visual Stud
io 9.0\VC\BIN\amd64\link.EXE": возвращенный код "0x491"
Stop.
NMAKE : неустранимая ошибка U1077: "c:\Program Files (x86)\Microsoft Visual Stud
io 9.0\VC\BIN\amd64\nmake.exe": возвращенный код "0x2"
Stop.
NMAKE : неустранимая ошибка U1077: cd: возвращенный код "0x2"
Stop.

C:\Qt\4.5.0_x64_static>

Какие будут соображения?



Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: pastor от Апрель 07, 2009, 21:56
Попробуй собрать так:

Цитировать
configure.exe -static -release -no-exceptions -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -no-openssl

т.е. только релиз.


Название: Re: Установка Qt 4.5.0 в win64 VS2008
Отправлено: Andrew Vladoff от Апрель 10, 2009, 07:20
Наконец получилось!
Вот описание, может кому пригодиться:
Код:
Сборка статической версии Qt 4.5.0 (x64)

1. Из "Visual Studio 2008 Command Prompt" запустить:
configure.exe -static -qt-zlib -qt-gif -qt-libpng -qt-libjpeg -qt-style-windowsxp-qt-style-windowsvista-no-openssl

2. Изменить следующие файлы:
"С:\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)


3. Из "Visual Studio 2008 Command Prompt" запустить:
   nmake sub-src