So erstellen Sie Qt für Visual Studio 2010


137

Ich hatte Probleme, eine Anleitung zu finden, die eine stabile Lösung für die Verwendung von Qt mit Visual Studio 2010 bietet. Nachdem ich alle Informationen und einige Versuche gesammelt habe, möchte ich meine Lösung in ein Handbuch schreiben.

Das Problem oder warum ist es nicht möglich, vorgefertigte Binärdateien zu verwenden?

Es scheint, dass die Verwendung von Binärdateien, die für Visual Studio 2008 erstellt wurden, in einigen besonderen Fällen funktioniert, aber ich habe festgestellt, dass sie nicht funktionieren. In meinem Fall haben sie OK kompiliert, aber sie erzeugen Laufzeitfehler wie folgt:

problem2

oder beim Start von Visual Studio 2010:

Problem

Update : Ich habe einen Blog-Beitrag gefunden, in dem analysiert wird, warum es bei einigen Menschen funktioniert, bei anderen nicht. Mit einem Wort, es hängt davon ab, ob Sie Visual Studio 2008 auf demselben Computer installiert haben oder nicht. http://blog.paulnettleship.com/2010/11/11/troubleshooter-visual-studio-2010-and-qt-4-7-integration/

Das Wichtigste (was ich dummerweise nicht realisiert habe) war die Tatsache, dass Sie die kompilierten Bibliotheken und DLLs von Visual Studio 2008 (verfügbar auf der Qt-Webseite) NICHT verwenden können, wenn Sie Visual Studio 2008 nicht installiert haben. Der Grund dafür ist, dass das von Ihnen heruntergeladene Qt SDK ein Debug-Build ist, der vom VC9.0 DebugCRT abhängig ist. Dies bedeutet, dass die Visual C ++ 2008 Debug Runtime installiert sein muss, die NICHT als weiterverteilbares Installationsprogramm verfügbar ist. Die einzige Möglichkeit, DebugCRT zu installieren, besteht darin, Visual Studio 2008 vollständig zu installieren.


Danke für deinen Einsatz. Es kann auch hilfreich sein zu erklären, warum man die VS 2008-Binärdateien nicht verwenden sollte. Ich habe einige Prototyp-Testprojekte mit ihnen und VS2010 entwickelt, ohne dass Probleme aufgetreten sind, aber ich erinnere mich an jemanden, der erwähnt hat, dass es Bereitstellungsprobleme gibt?
Ralf

Ich habe meine Erfahrungen zum letzten Abschnitt hinzugefügt. Im Allgemeinen habe ich viele Berichte im Internet gefunden, aus denen hervorgeht, dass Sie Qt kompilieren müssen, wenn Sie es mit VS2010 verwenden möchten. Auf einer Seite wird darauf hingewiesen, dass möglicherweise VS2008 vorhanden ist.
Hyperknot

Fantastisch, ich bin sicher, dass viele Leute dies nützlich finden werden :)
Ralf

Hey, hier ist was ich bekomme, wenn ich es tue nmake. Ich habe Folgendes verwendet, bevor ich versucht habe zu erstellen : configure.exe -release -no-ltcg.
Mateen Ulhaq

2
Zum späteren Nachschlagen könnte es Sie interessieren, ob die Qt-Dokumentationsseite tatsächlich die Installationsanweisungen zum Kompilieren aus dem Quellcode enthält .
Ephphatha

Antworten:


142

Zunächst ist es sehr wichtig zu verstehen, dass es für die Verwendung von Qt mit Visual Studio 2010 nicht möglich ist, die vorgefertigten Binärdateien zu verwenden, die für Visual Studio 2008 erstellt wurden , sondern dass Sie sie aus dem Quellcode kompilieren müssen.

Qt herunterladen

Auf https://www.qt.io/download/

Update 2017: Der neueste Qt 4.x-Zweig (Qt 4.8.6) verfügt über 2 vorgefertigte Pakete, die sich jetzt im Archivbereich befinden:

  1. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
  2. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

Sie sollten Qt nicht herunterladen, indem Sie auf "Qt-Bibliotheken 4.8.6 für Windows (Visual Studio 2008, 218 MB)" klicken, sondern indem Sie auf den Link "zip" darüber klicken .

Linkauswahl

Über diesen Link erhalten Sie eine große Zip-Datei wie "qt-everywhere-opensource-src-4.8.6.zip" . Entpacke dies in einen Ordner und mache seinen Pfad etwas Schönes und Kleines, zum Beispiel "E: \ Qt"

Visual Studio-Eingabeaufforderung

Nachdem wir die Quellen haben, müssen wir die Binärdateien erstellen. Öffnen Sie dazu den Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)Link in Ihrem Startmenü oder heften Sie ihn sogar an die Taskleiste (eine gute Idee). Dies ist eine spezielle Eingabeaufforderung, für die alle Variablen zum Erstellen mit Visual Studio 2010-Tools festgelegt sind.

Navigieren Sie in der Eingabeaufforderung mit DOS-Methode der alten Schule zu Ihrem extrahierten Qt-Ordner. Dies bedeutet, dass Sie den Laufwerksbuchstaben ändern E:, Verzeichnisse eingeben cd Qtund Verzeichnisinhalte auflisten müssen dir. Sie können die Tabulatortaste verwenden, um die Verzeichnisnamen zu ermitteln. Wenn Sie im richtigen Verzeichnis angekommen sind, sollte ein dirBefehl so etwas zurückgeben.

Befehlszeile

Gebäude Qt

Jetzt ist es Zeit zum Konfigurieren und Erstellen. Für die Konfiguration eines minimalistischen Qt verwende ich die folgenden Flags mit configure.exe. Kopieren Sie es einfach und fügen Sie es in die Befehlszeile ein. Suchen Sie im Qt-Referenzhandbuch nach, welches Flag verwendet oder nicht verwendet werden soll.

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

Sobald configure.exeder Vorgang abgeschlossen ist (für mich waren es 10 Minuten), müssen Sie den Erstellungsprozess starten. Mit den oben genannten Flaggen dauert es ungefähr 20-30 Minuten. Um es zu starten, geben Sie einfach Folgendes ein:

nmake

Umgebungsvariablen festlegen

Grundsätzlich sind wir fertig. Alles, was Sie tun müssen, ist, Ihre Umgebungsvariablen ( QTDIRund PATH) festzulegen, die den Programmen mitteilen, wo Qt zu finden ist. Wenn Sie unter Windows 7 arbeiten, können Sie mit dem folgenden Befehl QTDIRIhr Installationsverzeichnis festlegen .

setx QTDIR e:\Qt

Zum Einstellen der PATHOption empfehle ich dringend die Verwendung des Pfad-Editors . Im Pfadeditor

add the directory of Qt\bin to your PATH

(Es spielt keine Rolle, ob es sich im System- oder Benutzerpfad befindet.)

Wenn Sie es vorziehen Control Panel\System\Environment Variables, können Sie diese auch dort einstellen.

Qt Visual Studio-Add-In

Nach einer Abmeldung oder einem Neustart sollten alle Qt-Demoanwendungen korrekt gestartet werden (ich empfehle einen Blick auf bin \ qtdemo.exe ). Jetzt können Sie das Visual Studio-Add-In (qt-vs-addin-1.1.9.exe) von der Qt-Download-Seite herunterladen und installieren. Es funktioniert einwandfrei.

Addin

Anhang A: Offizielle Anweisungen:

Es gibt eine Seite im offiziellen Wiki auf der Qt-Website mit dem Namen Qt 4.8 Installieren von Qt für Windows , aber mir fehlten wichtige Informationen.

Verweise

Qt DevNet-Foren
Empfohlene Flags für einen minimalistischen Qt-Build Erstellen von
Qt 4.5 mit Visual C ++ 2010
Kompilieren von Qt als statisches
Qt 4.8: Konfigurieren von Optionen für Qt
Bearbeiten Sie die Umgebungsvariable PATH in
Windows ohne Schmerzen - op111.net


2
Das ist großartig, aber ich würde -qt-sql-sqlite zu den Konfigurationsflags hinzufügen, wenn Sie keine Probleme mit Ihrem benutzerdefinierten Qt-Assistenten haben möchten. Es scheint, dass dieses Plugin benötigt wird, um die Dokumentationsdatenbanken erfolgreich zu lesen.
Neuviemeporte

Toller Führer! Eine Anmerkung - ich habe versucht, mich für ein oder zwei Tage einzurichten, und dabei einige Pfadvariablen zu mingw hinzugefügt - diese brachen nmake und mussten entfernt werden, bevor die Dinge funktionierten.
David Hall

2
Noch ein Hinweis: VS-Tools lehnen das Erstellen von QT ab, wenn der Pfad zu dem Ordner, in dem sich QT-Quellen befinden, Leerzeichen enthält. Zumindest in meinem Fall.
Roman Kruglov

10
Nur eine Frage: Warum bietet Qt noch keine vorkompilierte VS 2010-Distribution an?
Matt Montag

2
Nur um euch zu informieren. Der Link im ursprünglichen Beitrag funktioniert nicht mehr. Es dauert eine Weile, die Digia-Site zu durchsuchen und festzustellen, dass das Add-In nicht einmal vorhanden ist. Der Hauptlink, dem man folgen muss, ist: qt-project.org/downloads
paul23

25

Qt V4.8.0 enthält vorgefertigte Binärdateien für Visual Studio 2010, sodass Sie dies nicht mehr tun müssen: http://qt.nokia.com/downloads/windows-cpp-vs2010


2
parsley72 Die vorgefertigten Binärdateien für Visual Studio 2010 sind nur nützlich, wenn Sie im 32-Bit-Debug-Modus arbeiten möchten. Andernfalls ist das von zsero veröffentlichte Handbuch sehr nützlich, insbesondere wenn Sie die Architekturoptionen ändern möchten.

Absolut! Aber die Frage wurde zurück gestellt, bevor vorgefertigte Bibliotheken verfügbar waren, also lasse ich die Leute wissen, dass es jetzt eine Alternative gibt.
Petersilie72

1

Ein Link zu einer möglichen Lösung ist immer willkommen. Fügen Sie jedoch einen Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es dort ist. Zitieren Sie immer den relevantesten Teil eines wichtigen Links, falls die Zielwebsite nicht erreichbar ist oder dauerhaft offline geht. Berücksichtigen Sie, dass kaum mehr als ein Link zu einer externen Website ein möglicher Grund dafür ist, warum und wie einige Antworten gelöscht werden .
Maximilian Ast
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.