Frage

ich Visual Studio auf einen neuen Computer vor kurzem bekam, und DirectX darauf einzurichten, ich auf Extras ging> Optionen> Projekte und Lösungen> VC ++ Verzeichnisse und unter Bibliotheksdateien einen neuen Eintrag C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86

und lief nun ein Testprogramm (im Wesentlichen nur initialisiert DirectX) und es funktionierte gut. wenn ich ...\Lib\x86 jedoch ändern ...\Lib\x64, als ich ein Linker-Fehler erhalten, dass Direct3DCreate9 ist nicht definiert:

1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "void __cdecl init(void)" (?init@@YAXXZ)
War es hilfreich?

Lösung

Die x86-Bibliotheken sind für 32-Bit-Anwendungen und die x64-Bibliotheken sind für 64-Bit-Anwendungen.

Sie können sehen, welche Plattform, die Sie in Visual Studio Configuration Manager Targeting. Es sei denn, Sie haben einen guten Grund, sollten Sie 32-Bit-Anwendungen schreiben, da 64-Bit-Anwendungen werden die 64-Bit-Version von Windows benötigen auszuführen.

Andere Tipps

Der x64 Ordner enthält die Bibliotheksdateien für die AMD64-Plattform (Windows 64 Bit). Sie benötigen eine Anwendung für 64-Bit zu kompilieren, zu. Außerdem müssen Sie die 64-Bit-Version von Windows die erzeugte ausführbare Datei auszuführen.

Nun, die einfache Antwort ist, dass die x86-Bibliotheken sind für 32-Bit-Betriebssysteme und die x64-Bibliotheken sind für 64-Bit-Betriebssysteme.

Ändern Sie einfach die DirectX-Bibliothek verknüpft wird einen Fehler zu produzieren, wie Sie (aller Wahrscheinlichkeit nach) versuchen, sind Ihre 32-Bit-Code in die 64-Bit-Bibliothek zu verknüpfen. Sie müssen Ihren Code kompilieren 64-Bit-Betriebssysteme zum Ziel, dies zu erhalten erfolgreich zu verbinden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top