findet directx funktionen nicht



  • hi
    ich habe directx installiert und wollte testen, ob alles funktioniert.

    wenn ich diesen code compile:

    #include <Windows.h>
    #include <StdIO.h>
    #include <D3D9.h>
    
    int WINAPI WinMain(	HINSTANCE hinstance, HINSTANCE hprevinstance, char* pcCmdLine, int iShowCmd){
    	PDIRECT3D9 pD3D=Direct3DCreate9(D3D_SDK_VERSION);
    	if(!pD3D) return 1;
    
    	pD3D->Release();
    	return 0;
    };
    

    bekomme ich den fehler:

    1>------ Erstellen gestartet: Projekt: dx3d, Konfiguration: Debug Win32 ------
    1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Direct3DCreate9@4" in Funktion "_WinMain@16".
    1>G:\_proggen\_workspaces\c++\visual studio 2010\Projects\Logfile\Debug\dx3d.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    wieso kann die Direct3DCreate9 funktion nicht gefunden werden (habe ja D3D9 eingebunden)?


  • Mod

    Die denötigte Library wurde in den Linker Optionen nicht angegeben, bzw. nicht per #pragma comment(lib,"...") angegeben.



  • Wie Martin Richter schon gesagt hat hast du vergessen d3d9.lib zu linken...



  • ok
    habe jetzt
    Microsoft DirectX SDK %28June 2010%29\Include
    in vc++-verzeichnisse gepackt und
    Microsoft DirectX SDK %28June 2010%29\Lib\
    in linker allgemein.

    jetzt bekomme ich die gleichen fehler

    1>test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Direct3DCreate9@4" in Funktion "_WinMain@16".
    1>G:\_proggen\_workspaces\c++\visual studio 2010\Projects\Logfile\Debug\dx3d.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    

    (auch wenn ich Microsoft DirectX SDK %28June 2010%29\Lib\x86 linke)



  • ok wenn ich es mit #pragma comment(lib,"d3d9.lib")mache, dann geht es.....

    wieso geht es nicht, wenn ich das normal linke?



  • Weil du offenbar nur die Verzeichnisse zu den Suchpfaden hinzugefügt aber die lib nicht gelinkt hast!?


Anmelden zum Antworten