Ich habe ein Problem mit einer einfachen Adapterinformationausgabe mit DirectX9.0c
-
Wenn ich versuche den Quellcode unten zu verlinken taucht ein Fehler auf den ich nicht versteh.
#include <Windows.h> #include <StdIO.h> #include <D3D9.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine, int iShowCmd) { //Schnittstelle für Direct3D erzeugen PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION); if(pD3D) { //Fehler beim erzeugen der Schnittstelle MessageBox(NULL, "Fehler beim Erzeugen der Direct3D-Schnittstelle!", "Fehler", MB_OK | MB_ICONEXCLAMATION); return 1; } // Anzahl der Adapter ermitteln int iNumAdapters = pD3D->GetAdapterCount(); // Speicher resevieren und Informationen über jeden Adapter sammeln D3DADAPTER_IDENTIFIER9* pAdapters = new D3DADAPTER_IDENTIFIER9[iNumAdapters]; for(int iAdapter = 0; iAdapter < iNumAdapters; iAdapter++) { if(FAILED(pD3D->GetAdapterIdentifier(iAdapter, 0, &pAdapters[iAdapter]))) { // Fehler! MessageBox(NULL, "Adapterinformation konnte nicht abgefragt werden!", "Fehler", MB_OK | MB_ICONEXCLAMATION); //Aufräumen pD3D->Release(); delete[] pAdapters; return 1; } //Adapterinformation anzeigen char acAdapterInfo[1024]; sprintf(acAdapterInfo, "Adapter-ID: %d\n" "Name: %s\n" "Treiber: %s\n" "nTreiberversion: %d", iAdapter, pAdapters[iAdapter].Description, pAdapters[iAdapter].Driver, pAdapters[iAdapter].DriverVersion); MessageBox(NULL, acAdapterInfo, "Adapter gefunden", MB_OK | MB_ICONINFORMATION); } // Aufräumen pD3D->Release(); delete[] pAdapters; return 0; }: Temporäre Dateien und Ausgabedateien für "lerning - Win32 Release" werden gelöscht. --------------------Konfiguration: lerning - Win32 Release-------------------- Kompilierung läuft... 1.cpp Linker-Vorgang läuft... 1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Direct3DCreate9@4 Release/lerning.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. lerning.exe - 2 Fehler, 0 Warnung(en)Vielen Dank schon mal im Voraus

[edit=rapso]tags rein[/edit]
-
Bei Fragen zu meinem Buch kannst Du auch in meinem Forum posten (www.spieleprogrammierer.de). Da wurde diese Frage nämlich schon ca. 20x beantwortet.
Es ist die D3D9.LIB, die Du vergessen hast zu linken.
-
Ich hab gedacht ich hätte die verlinkt

Ich könnte im Boden versinken
Dabei stand das doch dabei
trotzdem danke hat mir viel geholfen
-
Es ist wahrscheinlich wieder eine Frage die sich von selbs beantwortet aber jetz meldet sich die MessageBox mit der Fehlermeldung "Fehler bei Erzeugen der Direct3D-Schnittstelle!"
-
Du hast ein "!" vergessen, bei der if-Abfrage...

-
Ach so,
aber dir ist bewusst das da kein "!" im Buch drin steht ?!
-
Bei mir steht da
if(pD3D == NULL)was dasselbe ist wie
if(!pD3D)
-
lolotw

-
Bei mir steht keins von beidem
