views:

9474

answers:

8

Did somebody tried to build Qt 4.5 with Visual Studio 2010 (Beta 2)? Any hints on doing that successfuly?

Later edit I tried to run configure from a Visual Studio 2010 console. There is no makespecs support for 2010, so configure fails because of that.

A: 

For the moment... I will continue using the builds made with VS 2008 with VS 2010. While I am using it for development purpose only, with no intentions for releasing something (so no manifest nightmare yet), it is acceptable. Hopefully, Qt will soon officially support VS2010.

Cătălin Pitiș
+12  A: 

It worked for me to build just as if it was vs2008, but using the vs2010 tools:

  1. Open vs2010 command prompt. cd into the top-level Qt directory.
  2. configure.exe -platform win32-msvc2008 -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -no-qt3support -fast
  3. nmake
Ben
Yeah, but annoying that you can't build with webkit support.
mos
I've built 4.6.2 with webkit support. You just have to edit a couple files to replace 0 with nullptr.
Ben
Really? I'll have to check that out. When I saw the (long list of) build errors, I just threw up my hands and gave up. However, I've got a brand-new dev machine here, and no vs2008 installed. I'll try again.
mos
Yeah, it's 4 identical changes, each of which triggers ~20 errors during the build. If you can wade through the errors, you'll find a reference to the source file and line that causes the error.
Ben
Looks like the just-released 4.7 beta has added support for VS 2010.
Ben
+6  A: 

For Qt 4.6.2 (or perhaps other 4.6 versions as well)...

To save you some time, here are the errors which need fixing in order to build webkit (this is to expand upon Ben's answer).

The errors appear in the following files (the two files are identical, and the errors need to be fixed in each):

  • %QTDIR%\qt\src\3rdparty\webkit\javascriptcore\runtime\StructureTransitionTable.h
  • %QTDIR%\qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\StructureTransitionTable.h

Here are the errors and how to fix them:

  1. %QTDIR%\qt\src\3rdparty\webkit\javascriptcore\runtime\StructureTransitionTable.h(146) : table()->add(key, Transition(structure, 0));
    Change it to table()->add(key, Transition(structure, nullptr));
  2. %QTDIR%\qt\src\3rdparty\webkit\javascriptcore\runtime\StructureTransitionTable.h(153) : table()->add(key, Transition(0, structure));
    Change it to table()->add(key, Transition(nullptr, structure));
  3. Make the same two changes for %QTDIR%\qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\StructureTransitionTable.h (or copy your edited file over this one)
guesser
A: 

You can find a tutorial how to compile Qt 4.7 Beta 1 using Visual Studio 2010 and Windows 7 here:

TUTORIAL

Tutorial
Your tutorial link is not working (anymore)...
fmuecke
their link changed to http://nanohume.com/underground/2010/06/29/compiling-qt-4-7-beta-1-using-visual-studio-2010-and-windows-7/ instead of the previous link
Dan
A: 

it did not work, i was compiling qt-everywhere-opensource-src-4.7.0-tp using vs2010, the compilation phase is ok but then the link phase failed.

The error info is below:

LINK: fatal error LNK104: can not open file "QtScriptd.lib"

Anybody know how to resolve this ? Thank for any pointers in advance!

Tracy
A: 

Also note that -platform win32-msvc2010 now works as well instead of having to use win32-msvc2008.

Dan
A: 

The qt-vs-addin-1.1.6 recognizes VS 2010 now as a suitable platform.... but it's not documented by qt..

manloeste
A: 

With Qt 4.7 and Visual Studio Add-in 1.1.7, it integrates with VS2010.

See this.

ShaChris23