Is there a way: qt 4.3.4 with Studio 2010?
Hello, together
unfortunately my search efforts did not end with success so I have to ask this question here: Is there a way to get Qt 4.3.4 to run with Visual Studio 2010?
I already managed to build Qt 4.7.1 under Studio 2010 using the Qt-everywhere-commercial package, so I already know the general direction this question should lead, but of course the steps I used for the new version don’t work at all for 4.3.4.
Before I put huge efforts into an expedition I would like to see if anybody has already done this and whether this could work at all.
So please enlighten me.
Drago
(hope this is the correct forum…)
7 replies
Hi, Gerolf
thanks for your feedback, but I fear it is not that simple. I just tried the very simple approach doing the following.
1. Downloaded qt-win-opensource-src-4.3.4.zip from ftp.qt.nokia.com/qt/source
I used this one because the commercial version of 4.3.4 is not available in the customer portal of digia
2. unpacked the zip in the goal dir
3. configured environment (QMAKESPEC, Path, QTDIR)
up to here all is similar to version 4.7.1
4. copied makespec msvc2010 from 4.7.1 to 4.3.4
5. started configure
result:
_Creating qmake…
execute: File or path is not found (make)
execute: File or path is not found (make)
Cleaning qmake failed, return code -1_
Seems that configure looks for a make, but I can only provide nmake.
I also tried qt-all instead of qt-win but the result is the same. qt-everywhere (which i used for 4.7.1) is not available for 4.3.4, since it starts with 4.6
So that seems a little more complicated.
please compare the content of the mkspec for 2010 with the one you used before (2008? 2005?).
perhaps you have to adopt it.
and please try, whether you could configure for 2008 with the same settings, only QMAKESPEC changed.
- please provide your environment (cmd —> set) for all studio / qt realted settings
- your configure call
- perhaps the complete configure output as file on some file hosters and a link to check for other errors that might happen.
I think the output of configure is short enough to post it here, because it stops near the start
—-
- D:WorkQt4.3.4_win>configure
- This is the Qt/Windows Open Source Edition.
- You are licensed to use this software under the terms of
- the GNU General Public License (GPL) version 2 or 3.
- Type '2' to view the GNU General Public License version 2 (GPLv2).
- Type '3' to view the GNU General Public License version 3 (GPLv3).
- Type 'y' to accept this license offer.
- Type 'n' to decline this license offer.
- Do you accept the terms of the license?
- y
- Environment:
- INCLUDE=
- C:Program Files (x86)Microsoft Visual Studio 10.0VCINCLUDE
- C:Program Files (x86)Microsoft Visual Studio 10.0VCATLMFCINCLUDE
- C:Program Files (x86)Microsoft SDKsWindowsv7.0Ainclude
- LIB=
- C:Program Files (x86)Microsoft Visual Studio 10.0VCLIB
- C:Program Files (x86)Microsoft Visual Studio 10.0VCATLMFCLIB
- C:Program Files (x86)Microsoft SDKsWindowsv7.0Alib
- PATH=
- C:Program Files (x86)Microsoft Visual Studio 10.0VSTSDBDeploy
- C:Program Files (x86)Microsoft Visual Studio 10.0Common7IDE
- C:Program Files (x86)Microsoft Visual Studio 10.0VCBIN
- C:Program Files (x86)Microsoft Visual Studio 10.0Common7Tools
- C:WindowsMicrosoft.NETFrameworkv4.0.30319
- C:WindowsMicrosoft.NETFrameworkv3.5
- C:Program Files (x86)Microsoft Visual Studio 10.0VCVCPackages
- C:Program Files (x86)HTML Help Workshop
- C:Program Files (x86)Microsoft Visual Studio 10.0Team ToolsPerformance
- Tools
- C:Program Files (x86)Microsoft SDKsWindowsv7.0AbinNETFX 4.0 Tools
- C:Windowssystem32
- C:Windows
- C:WindowsSystem32Wbem
- C:WindowsSystem32WindowsPowerShellv1.0
- C:Program Files (x86)ATI TechnologiesATI.ACECore-Static
- d:workqt4.3.4_winbin
- C:Program Files (x86)Microsoft Visual Studio 10.0VCbin
- C:Program FilesCommon FilesMicrosoft SharedWindows Live
- You are licensed to use this software under the terms of the GNU GPL version 2 o
- r 3.
- Configuration:
- minimal-config
- small-config
- medium-config
- large-config
- full-config
- build_all
- debug
- Qt Configuration:
- release
- debug
- zlib
- png
- accessibility
- opengl
- ipv6
- minimal-config
- small-config
- medium-config
- large-config
- full-config
- QMAKESPEC...................win32-msvc2010 (env)
- Architecture................windows
- Maketool....................make
- Debug symbols...............yes
- Accessibility support.......yes
- STL support.................yes
- Exception support...........yes
- RTTI support................yes
- MMX support.................yes
- 3DNOW support...............yes
- SSE support.................yes
- SSE2 support................yes
- OpenGL support..............yes
- Direct3D support............no
- OpenSSL support.............no
- QDBus support...............no
- Qt3 compatibility...........yes
- Third Party Libraries:
- ZLIB support............qt
- GIF support.............plugin
- TIFF support............plugin
- JPEG support............plugin
- PNG support.............qt
- MNG support.............plugin
- Styles:
- Windows.................yes
- Windows XP..............yes
- Windows Vista...........yes
- Plastique...............yes
- Cleanlooks..............yes
- Motif...................yes
- CDE.....................yes
- Sql Drivers:
- ODBC....................no
- MySQL...................no
- OCI.....................no
- PostgreSQL..............no
- TDS.....................no
- DB2.....................no
- SQLite2.................no
- InterBase...............no
- Sources are in..............D:WorkQt4.3.4_win
- Build is done in............D:WorkQt4.3.4_win
- Install prefix..............D:WorkQt4.3.4_win
- Headers installed to........D:WorkQt4.3.4_wininclude
- Libraries installed to......D:WorkQt4.3.4_winlib
- Plugins installed to........D:WorkQt4.3.4_winplugins
- Binaries installed to.......D:WorkQt4.3.4_winbin
- Docs installed to...........D:WorkQt4.3.4_windoc
- Data installed to...........D:WorkQt4.3.4_win
- Translations installed to...D:WorkQt4.3.4_wintranslations
- Examples installed to.......D:WorkQt4.3.4_winexamples
- Demos installed to..........D:WorkQt4.3.4_windemos
- Creating qmake...
- execute: File or path is not found (make)
- execute: File or path is not found (make)
- Cleaning qmake failed, return code -1
- ----------------------------
- Environment
- Path=C:Program Files (x86)Microsoft Visual Studio 10.0VSTSDBDeploy;C:Program Files (x86)Microsoft Visual Studio 10.0Common7IDE;C:Program Files (x86)Microsoft Visual Studio 10.0VCBIN;C:Program Files (x86)Microsoft Visual Studio 10.0Common7 Tools;C:WindowsMicrosoft.NETFrameworkv4.0.30319;C:WindowsMicrosoft.NETFrameworkv3.5;C:Program Files (x86)Microsoft Visual Studio 10.0VCVCPackages;C:Program Files (x86)HTML Help Workshop;C:Program Files (x86)Microsoft Visual Studio 10.0Team ToolsPerformance Tools;C:Program Files (x86)Microsoft SDKsWindowsv7.0AbinNETFX 4.0 Tools;C:Program Files (x86)Microsoft SDKsWindowsv7.0Abin;%CommonProgramFiles%Microsoft SharedWindows Live;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)ATI TechnologiesATI.ACECore-Static;d:wo
- rkqt4.3.4_winbin;C:Program Files (x86)Microsoft Visual Studio 10.0VCbin;
- QMAKESPEC=win32-msvc2010
- QTDIR=d:workqt4.3.4_win
- VCINSTALLDIR=C:Program Files (x86)Microsoft Visual Studio 10.0VC
There are some differences between the mkspecs, but I think the basic question is, why make is used as Maketool (see output) and could it even work with nmake?
Right now we get to the point I’m trying to avoid. Although I like experiments like this I would really like to know if this (or something similar) has been done before because I am a bit short of time right now and must avoid testing different setups for hours.
Drago
it should use nmake, not make.
So the point is, why does it use try to use make?
you could have a look at qmake make files, which are located here:
d:\work\qt4.3.4_win\qmake\Makefile.win32
this should be executed. on 4.7.2, there is some special statement at the top, checking the mkspecs. perhaps this also needs to be changed:
- !IF "$(QMAKESPEC)" == "win32-msvc" || "$(QMAKESPEC)" == "win32-msvc.net" || "$(QMAKESPEC)" == "win32-msvc2002" || "$(QMAKESPEC)" == "win32-msvc2003" || "$(QMAKESPEC)" == "win32-msvc2005" || "$(QMAKESPEC)" == "win32-msvc2008" || "$(QMAKESPEC)" == "win32-msvc2010" || "$(QMAKESPEC)" == "win32-icc"
perhaps, based on this if, it fails and trys another makefile which uses make instead of nmake. I would give it a try.
After some research I found out that the decision between make and nmake is part of the compiled configure.exe. The source code is part of the package and there you see that the decision depends on the name of the makespec. If it ends on msvc2005 (and some others), nmake is chosen, else make. Msvc2008 is not in there of course so it chooses make.
Probably one could now change the source code and rebuild the configure tool, but it is a Qt application so you need Qt to build it (sigh). Maybe I could have done this with Qt 4.7.x, but I decided to try something else.
I just configured Qt with the makespec msvc2005. The configuration part then is no problem, even with Studio 2010.
The next is calling nmake, that also seems no problem except there are messages about missing manifest files. A restart of nmake seems to fix that problem. Every message of this kind stops nmake and cannot be ignored (because it’s a fatal error?) with -I so I went the hard way and restarted nmake after each error of this kind (some 30 times…) and finally nmake was done.
I am not quite sure what my result is now. I have a compiled version 4.3.4. It is able to “unpack” my solution (i.e. build vcproj files from pro files) from command line but it produces some error messages on the way, but those could be a Windows 7 problem because they are environment warnings.
I have a Studio 2010 with the latest Qt integration version (1.1.8 I think). Trying to open the pro files from there resulted in a message that the Qt version is not supported by this integration version. On the other hand: older integration versions won’t do with Studio 2010 so I have now a mixture of versions.
However: I managed to build my Qt-application (the one I do this experiment for) with some minor problems (environmental). In the debugger I can see the content of e.g. QString, so the integration works at least partly. I did not try to use any other feature of the integration up to now.
For now I reached my goal at least for the main part. But some questions are still open. – Will the “wrong” qmakespec lead to a problem later on? – Which parts of the integration will be unusable? – Are there known problems generating vcproj files from “old” pro files under Windows 7? – What about those manifest errors during the Qt build?
If somebody has hints for these questions and maybe to the general idea using msvc2005 with studio 2010, I would really like to read it here ;-)
Drago
Hi Gerolf,
I just set up version 4.5.2 for VS2010 with a little different approach. First I copied the specs from win32-msvs2008 to win32-msvs2010 and modified the file qmake.conf to use the correct _MSC_VER value (1600).
Then (unfortunately) I had to modify the file makefile.win32 at the folder qmake. At the top I had to add the VS2010 specs, just like you already described.
Then at the command line I ran configure.exe with at least the option “-make nmake” to be sure that nmake will be used (found the option in the source of configure.exe).
I even had to set the option “-no-qt3support” for building that part gave me an error and I do not need the Qt3 support.
After this I configure.exe did run almost correct, only copying qmake.exe failed. Copied this by hand and restarted configure.exe; then it completed normal.
Finally I could run nmake and build the library.
hope this helps,
Mark
You must log in to post a reply. Not a member yet? Register here!


