How to compile QT open-source for windows 64 bit using visual studio 2012



  • Dear All,

    How can I compile QT open-source 4.8.4 MinGW version for Windows 64 bit using Visual Studio 2012 - Professional? what are the step by step procedure of this compilation? There are some tips and queries I could find in forums to do the compilation and most of those are for win32 and they are recommending visual studio 2010 I don’t know why? I have only VS2012! Those explanations are bit confusing and I am newbie in QT and unfamiliar with open-source compilation and its keywords changes. It is difficult and time consuming for me to change visual studio 2012 to 2010 so I hope compilation will be possible
    with Qt-MinGW version and VS2012. Somebody please help me soon!!


  • Moderators

    Hi,

    @John-R said:

    There are some tips and queries I could find in forums to do the compilation and most of those are for win32 and they are recommending visual studio 2010 I don’t know why? I have only VS2012!

    • The steps for 32-bit and 64-bit compilation are the same.
    • The steps for Visual Studio 2010 and Visual Studio 2012 are the same.

    Those explanations are bit confusing and I am newbie in QT and unfamiliar with open-source compilation and its keywords changes.

    If you give a detailed list of what you find confusing, someone could help you out.



  • @JKSH,

    Okay, thank you very much for the response!!

    Please find my reference URL in which I have following doubts

    http://stackoverflow.com/questions/12113400/compiling-qt-4-8-x-for-visual-studio-2012

    Doubt Line 1:

    Go to mkspecs\win32-msvc2010. Open qmake.conf and change:

    As per above line and VS 2012 and for 64 bit, which mkspecs folder I have to open instead of win32-msvc2010?? Is it win32-msvc2012??

    Doubt Line 2:

    change below

    QMAKE_COMPILER_DEFINES += _MSC_VER=1600 WIN32

    to:

    QMAKE_COMPILER_DEFINES += _MSC_VER=1700 WIN32

    The above changes is looks like compilation keyword for Windows 32. If I have to do for 64 bit, then what keyword I have to write instead of " += _MSC_VER=1600 WIN32" & "+= _MSC_VER=1700 WIN32" ???

    don’t know where is this file HashSet.h ? & what is the path of this Hash file?

    and all the directions are pointing on win32!! Why there is no win64?? Or any such folder in mkspecs
    did I misunderstood anything?? Could anyone please help me on this?


  • Moderators

    These instructions are old. For Qt 4.8.4 You don't need to modify anything for VS2012 as there is win32-msvc2012 directory in the mkspecs already. For the configure step pass -platform win32-msvc2012.

    win32 is a historical name of a platform. 32 does not refer to 32 bit Windows (it did in the ancient 16bit Windows times). Nowadays it is for both 32 and 64 bit Windows.

    The resulting libraries depend on the compiler config you use.
    If you compile Qt from the "VS2012 x64 Native Tools Command Prompt" it will build 64 bit version.

    As for the HashSet.h problem it is a known bug in 4.8.4 (tracked by QTBUG-31882). Consider using Qt 4.8.6. If it's still not fixed there (the bug report is not specific on that unfortunately ) then the file in question is in
    src\3rdparty\webkit\Source\JavaScriptCore\wtf\ directory.


  • Moderators

    Also, if I may suggest, if you don't feel sure about compiling this stuff yourself, you can use one of the builds for all the VS and MinGW configurations that are not provided officially from this site.
    I used it many times and it's always a great time saver.



  • @Chris-Kawa ,

    This is a great resource!! thanks for suggesting this, will be always useful and I bookmarked :)
    still I will try for VS compiling because I want to learn and familiar with that task, which may be useful at urgent times.. I may have doubts :)



  • @Chris-Kawa,

    Thank you very much for guiding me , it is very useful to me


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.