wake-up-neo.com

Wie kompiliere ich eine 64-Bit-Anwendung mit Visual C ++ 2010 Express?

Gibt es eine einfache Möglichkeit, eine 64-Bit-App mit der 32-Bit-Edition von Visual C++ 2010 Express zu kompilieren? Welche Konfigurationen sind gegebenenfalls erforderlich?

128
Nathan Osman

Hier sind Schritt für Schritt Anweisungen:

  1. Laden Sie das Windows Software Development Kit Version 7.1 herunter und installieren Sie es. Visual C++ 2010 Express enthält keinen 64-Bit-Compiler, das SDK jedoch. Ein Link zum SDK: http://msdn.Microsoft.com/en-us/windowsserver/bb980924.aspx
  2. Ändern Sie Ihre Projektkonfiguration. Gehen Sie zu den Eigenschaften Ihres Projekts. Oben im Dialogfeld befindet sich ein Dropdown-Menü "Konfiguration". Stellen Sie sicher, dass "Alle Konfigurationen" ausgewählt ist. Es wird auch ein Dropdown-Menü "Plattform" mit dem Namen "Win32" geben. Rechts befindet sich schließlich eine Schaltfläche "Configuration Manager" - drücken Sie darauf. Suchen Sie im daraufhin angezeigten Dialogfeld Ihr Projekt, klicken Sie auf die Dropdown-Liste Plattform, wählen Sie Neu und anschließend x64 aus. Ändern Sie nun das Dropdown-Menü "Active Solution Platform" in "x64". Wenn Sie zum Dialogfeld Eigenschaften zurückkehren, sollte die Dropdown-Liste "Plattform" jetzt "x64" lauten.
  3. Schließlich ändern Sie Ihr Toolset. Klicken Sie im Menü Eigenschaften Ihres Projekts unter Konfigurationseigenschaften | Ändern Sie im Allgemeinen das Platform Toolset von "v100" in "Windows7.1SDK".

Diese Schritte haben auf jeden Fall bei mir funktioniert. Weitere Details zu Schritt 2 finden Sie in einer Referenz von Microsoft, die in einem früheren Poster erwähnt wurde: http://msdn.Microsoft.com/en-us/library/9yb4317s.aspx .

181
Matt

64-Bit-Tools sind in Visual C++ Express standardmäßig nicht verfügbar. Installieren Sie das Windows Software Development Kit (SDK) zusätzlich zu Visual C++ Express, um 64-Bit-Tools in Visual C++ Express zu aktivieren. Andernfalls tritt ein Fehler auf, wenn Sie versuchen, ein Projekt so zu konfigurieren, dass es mit Visual C++ Express auf eine 64-Bit-Plattform abzielt.

Gewusst wie: Konfigurieren von Visual C++ - Projekten für 64-Bit-Zielplattformen

Ref: http://msdn.Microsoft.com/en-us/library/9yb4317s.aspx

48
YOU

Und stellen Sie sicher, dass Sie das Windows7 . 1 SDK herunterladen, nicht nur das Windows 7. Das hat mir viel Kopfzerbrechen bereitet.

14
Jamie Fristrom

Nachdem Sie das SDK installiert haben, rufen Sie die Projekteigenschaften auf und ändern Sie Konfigurationseigenschaften-> Allgemein-> Platform Toolset von Version 100 oder einer anderen Version auf Windows7.1SDK. Dies ändert $ (WindowsSdkDir) an den richtigen Ort und schien auch einige andere Schwierigkeiten zu lösen, auf die ich gestoßen bin.

9
Matt

Beachten Sie, dass Visual C++ - Compiler entfernt werden, wenn Sie Visual Studio 2010 Professional oder Visual Studio 2010 Express auf Visual Studio 2010 SP1 aktualisieren, wenn Windows SDK 7.1 installiert ist.

Anweisungen zum Beheben dieses Problems finden Sie unter KB2519277 auf der Microsoft Support-Website.

5
user634180

Laden Sie das Windows SDK herunter und gehen Sie zu Ansicht-> Eigenschaften-> Configuration Manager-> Active Solution Platform-> Neu-> x64.

4
duduong

Die Programmierung in einer 64-Bit-Umgebung unterscheidet sich erheblich von der 32-Bit-Umgebung. Der generierte Code weist eine völlig andere Assembly-Konstitution im 32- und 64-Bit-Code auf, selbst die Protokolle für die Kommunikation mit Funktionen ändern sich. Sie können also mit dem 32-Bit-Compiler keinen 64-Bit-Code generieren.

Möglicherweise möchten Sie einen Artikel auf der Microsoft-Website zum Targeting eines 64-Bit-Ziels unter Verwendung eines 32-Bit-Entwicklungscomputers lesen.

3
perilbrain

Wie Jakob sagte: Windows SDK 7.1 kann nicht installiert werden, wenn MS VC++ x64- und x86-Laufzeiten und Redisrtibutables der Version 10.0.40219 vorhanden sind. Nachdem sie entfernt wurden, ist die Installation von Win SDK in Ordnung. VS C++ SP1 kann problemlos erneut installiert werden.

Mit freundlichen Grüßen

2
Hadrien Huvelle