Building Qt 4.6 on Windows (msvs 2008)
Hi all.
I decided to look at kinetik, so I downloaded it. It needs Qt 4.6 (there is qcontiguouscache.h included), so I downloaded it also. I have allready Qt 4.5.1 installed (qt creator, and integrated into vs2008). When I run configure.exe from visual studio command promt I get error. This is the part of log
Code:
Sources are in..............D:\Qt\qt-qt-4.6-stable
Build is done in............D:\Qt\qt-qt-4.6-stable
Install prefix..............D:\Qt\qt-qt-4.6-stable
Headers installed to........D:\Qt\qt-qt-4.6-stable\include
Libraries installed to......D:\Qt\qt-qt-4.6-stable\lib
Plugins installed to........D:\Qt\qt-qt-4.6-stable\plugins
Binaries installed to.......D:\Qt\qt-qt-4.6-stable\bin
Docs installed to...........D:\Qt\qt-qt-4.6-stable\doc
Data installed to...........D:\Qt\qt-qt-4.6-stable
Translations installed to...D:\Qt\qt-qt-4.6-stable\translations
Examples installed to.......D:\Qt\qt-qt-4.6-stable\examples
Demos installed to..........D:\Qt\qt-qt-4.6-stable\demos
Creating qmake...
Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
cl -c -Foproject.obj -W3 -nologo -O2 -I. -Igenerators -Igenerators\uni
x -Igenerators\win32 -Igenerators\mac -Igenerators\symbian -ID:\Qt
\qt-qt-4.6-stable\include -ID:\Qt\qt-qt-4.6-stable\include\QtCore
-ID:\Qt\qt-qt-4.6-stable\include -ID:\Qt\qt-qt-4.6-sta
ble\include\QtCore -ID:\Qt\qt-qt-4.6-stable\src\corelib\global -I
D:\Qt\qt-qt-4.6-stable\src\corelib\xml -ID:\Qt\qt-qt-
4.6-stable\mkspecs\win32-msvc2005 -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT
_LITE_COMPONENT -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFI
G_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT
_NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED /Zc:wchar_t- -DQMAKE_OPENSOURCE_E
DITION project.cpp
project.cpp
d:\qt\qt-qt-4.6-stable\qmake\project.h(45) : fatal error C1083: Can not open include file: 'qstringlist.h': No such file or directory
NMAKE : fatal error U1077: '"F:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\cl.EXE"' : return code '0x2'
Stop.
Why it says sources are in D:\Qt\qt-qt-4.6-stable? They should be in D:\Qt\qt-qt-4.6-stable\src, aren't they? What path need I to set to %INCLUDE%? I think qstringlist.h must be from 4.6 package, not from 4.5.1. It located in D:\Qt\qt-qt-4.6-stable\src\corelib\tools - is it means i should add this path to %INCLUDE%? '
There is a qt patch for windows on sourceforge, but there is no patch for 4.6 version :(
Re: Building Qt 4.6 on Windows (msvs 2008)
1) How did you run ./configure script?
2) Do you have any QT specific environment variables set up?
Re: Building Qt 4.6 on Windows (msvs 2008)
1. I tried with many parameters. -static and shared, setting platform to win32-msvc and using default (QMAKESPEC not settted, but when run configure from Visual Studio command promt it does not ask platform). I run configure from D:\Qt\qt-qt-4.6-stable
When run from another directory it says "Error: Creating a shadow build of Qt requires perl to be in the PATH environment". I dont want to install ActivePerl, I think it is not nessesary.
2. Also, I tried with and without setting %QTDIR% to D:\Qt\qt-qt-4.6-stable. No result.
I thought problem is in my system or studio environment, but 4.5.1 compiled fine. I compiled the same source (4.6 stable) on my openSuse 11 - it also configured and compiled fine.
Re: Building Qt 4.6 on Windows (msvs 2008)
Unset all those variables, run make confclean in Qt 4.6's directory and run it again
Re: Building Qt 4.6 on Windows (msvs 2008)
Done, I' have unsetted all Qt-specific variables. I cannot do confclean -
fatal error U1073: don't know how to make 'confclean' so, for clean resuts, I deleted folder, and unpacked tarball again.
The same results. Any more ideas?
Re: Building Qt 4.6 on Windows (msvs 2008)
Ok, the next idea is that it doesn't like paths with spaces. Try to unpack it to C:\Qt4.6 or smth like this.
Re: Building Qt 4.6 on Windows (msvs 2008)
I have no spaces in path :) The problem is not in long names, qt 4.5.1 compiles fine.
It cannot do the first step - to build qmake. Have you tried to build qt46 using msvs 2008? If you compiled it, please show your "set"
Re: Building Qt 4.6 on Windows (msvs 2008)
I have never used MSVC for Qt compilation. The last version to compile was Qt 4.5.2 with MinGW
Re: Building Qt 4.6 on Windows (msvs 2008)
Well, 4.5..x versions compiles also using msvc. But kinetik needs 4.6 :(
Re: Building Qt 4.6 on Windows (msvs 2008)
Try to install ActivePerl, ensure that perl.exe is in your PATH and rerun configure.exe.
Re: Building Qt 4.6 on Windows (msvs 2008)
Perl used for shadow build only. The problem is not in perl absense, it is obviously. The problem is that configure.exe works incorrect, so nmake cannot find sources to build qmake. I think 4.6 needs a windows patch, but there is no patch for this version yet.
Re: Building Qt 4.6 on Windows (msvs 2008)
Hmm... when I tried to build Qt Kinetic, I was having a problem like yours, with some headers missing (http://labs.trolltech.com/blogs/2009...game/#comments, I'm Gabriel Morrison). Installing Perl solved the problem.
Re: Building Qt 4.6 on Windows (msvs 2008)
countercraft, thank you very much. I installed ActivePerl, it seems build started. I believe it will ends in a few (or not few :) hours. I didn't thought problem was in perl, because configure says nothing about perl, and other Qt versions did not required perl. Did they changed a build process?
Re: Building Qt 4.6 on Windows (msvs 2008)
Perl is necessary for running the syncqt script, it's in the bin folder. This script searches the headers in the src folder and create them on the include folder. I believe that when the trolls release a new version of Qt, they already did run the syncqt script, and release the tarballs with the headers in the right place. But we are getting it from GIT... so I believe that we need to run syncqt by ourselves.