问题
This question was asked on this thread, but is was closed as "off topic", which is confusing to me. This not a question looking for an opinion. This is a legitimate issue with concrete details and no doubt has a concrete answer.
I'm setting up a new windows 8.1 laptop. I've installed MSVC 2013 express (Windows Desktop version). And I've installed Qt 5.1.1.
In Qt Creator when I go to Tools -> Options -> Build & Run -> Compilers and hover the mouse over the auto-detected compiler: "Microsoft Visual C++ Compiler (12.0) (amd64)" it shows "ABI: x86-windows-msvc2005-pe-64bit".
Qt 5.1.1 apparently is not compatible with this ABI, because on the Qt Versions tab it says "No compiler can produce code for this Qt version" in the details pane for Qt 5.1.1 MSVC2012 64bit.
Is there a mscv2013 mkspec available that makes qt work with the MSVC 2013 compiler?
Is there a way to configure the MSVC 2013 compiler to produce binaries using an ABI compatible with Qt 5.1.1? What ABI version(s) does Qt 5.1.1 require?
In short: what does one have to do to get Qt 5.1.1 + Qt Creator 2.8.1 + MSVC 2013 to work together?
Here are some screen shots of the Build & Run tabs in Qt Creator:
回答1:
To compile Qt framework yourself with Visual C++ compiler (MSVC) from VS2013 you can use this tutorial on Building Qt 5 from Git.
Here is my short version of this tutorial above (for Windows 7 (amd64) and OpenGL):
1. Install Visual Studio 2013 (may be VS2013 Express edition).
2. Install Git, Python, Ruby, and Perl (Yes, you will need all these tools).
There is an option in each instalation wizard to add the tool to the PATH variable. Check this option or add it yourself.
3. Go to: Windows Start Menu -> All Programs -> Visual Studio 2013 -> Visual Studio Tools
Run: VS2013 x64 Native Tools Command Prompt
This is the same as run a cmd and then execute:
> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat amd64
4. Go to a folder you want, clone Qt repository, and initialize it.
> git clone git://gitorious.org/qt/qt5.git qt5
> cd qt5
> git checkout stable
> perl init-repository
If you don`t need WebKit you may run:
> perl init-repository --no-webkit
5. Configure and compile.
> configure -developer-build -opensource -confirm-license -nomake examples -nomake tests -opengl desktop
> nmake
Done.
回答2:
You have two options:
1) the simpler one: install Visual Studio 2012 (it looks like you downloaded the Qt binaries built with that)
or
2) a more complicated solution: build Qt framework yourself with Visual C++ compiler from VS2013.
来源:https://stackoverflow.com/questions/20080406/qt-creator-2-8-1-msvc-2013-express-no-compiler-can-produce-code-for-this-qt