VC++ Fehler beim linken



  • Ich erhalte beim linken der OBJ-Dateien folgenden Fehler:

    -------------------Konfiguration: Listing1 - Win32 Debug--------------------
    Linker-Vorgang läuft...
    Listing1.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Direct3DCreate9@4
    Debug/Listing1.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    Listing1.exe - 2 Fehler, 0 Warnung(en)

    Ich habe die Pfade zum DirectX SDK hinzugefügt, woran könnte dies liegen?

    Hier mal mein Listing:

    #include <windows.h>
    #include <stdio.h>
    #include <d3d9.h>
    
    int g_iNumAdapters; // Anzahl der Adapter
    D3DADAPTER_IDENTIFIER9 * g_pAdapters; // Adapterliste
    PDIRECT3D9 g_pD3D = NULL; // IDirect3d9-Schnittstelle
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, char * pcCmdLine, int iShowCmd) {
    
    	char acAdapterInfo[1024];
    
    	// Schnittstelle für Direct3D erzeugen
    	if ((g_pD3D = Direct3DCreate9 (D3D_SDK_VERSION)) == NULL) {
    		// Fehler
    		MessageBox (NULL, "Fehler beim Erzeugen der Direct3D-Schnittstelle!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
    		return 1;
    	}
    
    	// Anzahl der Adapter ermitteln
    	g_iNumAdapters = g_pD3D->GetAdapterCount ();
    
    	// Speicher reservieren und Informationen über jeden Adapter sammeln
    	g_pAdapters = new D3DADAPTER_IDENTIFIER9[g_iNumAdapters];
    
    	for (int i = 0; i < g_iNumAdapters; i++) {
    		if (FAILED (g_pD3D->GetAdapterIdentifier(i, 0, &g_pAdapters[i]))) {
    			// Fehler
    			MessageBox (NULL, "Adapterinformationen konnten nicht abgefragt werden!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
    			// Aufräumen
    			g_pD3D->Release ();
    			delete[] g_pAdapters;
    			return 1;
    		}
    
    		// Adapterinformationen anzeigen
    		sprintf (acAdapterInfo, "Adapter-ID: %d\n Name: %s\n Treiber: %s\n Treiberversion: %d",i, g_pAdapters[i].Description,
    				 g_pAdapters[i].Driver, g_pAdapters[i].DriverVersion);
    
    		MessageBox (NULL, acAdapterInfo, "Adapter gefunden", MB_OK | MB_ICONEXCLAMATION);
    
    	}
    
    	// Aufräumen
    	g_pD3D->Release ();
    	delete[] g_pAdapters;
    
    	return 0;
    
    }
    


  • Hi,
    kann es sein, dass du dieses D3DCREATE9 etc. irgendwo in nem Header deklariert hast und nachher nicht aufgelöst hast, also geschrieben, was darin passieren soll????????


Anmelden zum Antworten