[gelöst] DirectX SDK in Visual Studio 2010 einbinden



  • Hallo!

    Seit dem Visual Studio 2010 nun offiziell auf dem Mark ist habe ich mir die Express Version davon heruntergeladen. Zusätzlich auch noch das 30-Tage Ultimate Trial.
    Da ist zur Zeit sehr viel mit DirectX arbeite möchte ich dies natürlich auch in der jetzigen Version von Visual Studio benutzen können, also habe ich versucht die Include und Library Verweise der SDK (Version Februar 2010) mit einzubinden. (mit Visual Studio 2008 hat alles funktioniert)

    Nun...bei den "normalen" C++ Projekten (empty CLR project), funktioniert es, wenn ich folgende Dateien für den Linker mit einbinde:

    d3d10.lib
    d3dx10d.lib        //for debug builds
    dxerr.lib
    dxguid.lib
    

    Zusätzlich binde ich noch folgende Include Verweise ein [...\ steht für die Anweisungen die vorangehend sind]:

    ...\DirectX SDK (February 2010)\Include
    

    Nun hier noch die Library Verweise:

    ...\DirectX SDK (February 2010)\lib\x86
    $(VCInstallDir)atlmfc\lib\i386
    $(VSInstallDir)
    $(VSInstallDir)lib
    

    Wie gesagt, wenn ich ein normales CLR Project öffne und diese Verweise einfüge, so lässt sich ein lauffähiges Programm erstellen und ich kann <d3dx10.h> inkludieren.

    Versuche ich den selben Vorgang mit einem leeren Win32 Projekt, welches ich ja benötige um <windows.h> einzubinden, dann erhalte ich die Fehlermeldung, dass es einen externen Verweis gibt. Die exakte Fehlermeldung ist die folgende:

    Fehler    1    error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain16@... //blablabla nicht wirklich wichtig...
    

    Bis jetzt habe ich schon ein paar Beispiele zur Einbindung der SDK gefunden, aber keine ist wirklich für win32 Projekte in Visual Studio 2010 geeignet.
    DirectX 10 Setup
    oder auch
    Setup No2 Part 1
    Setup No2 Part 2

    Hat jemand eine Ahnung, wie ich die DirectX SDK in einem Win32 Projekt einbinden kann (in Visual Studio 2010)?



  • Versuch mal in den Projekteinstellungen bei Link/Output das Entry Point Symbol auf wWinMainCRTStartup zu setzen.



  • Hmm...
    wenn ich da gucke wo ich meine das ich gucken muss um die Datei zu ändern die du meinst welche richtig wäre.
    (Mann schwerer Satz 😃 )

    Also ich habe hier einmal einen Screenshot von allen möglichen Untermenüs. Vielleicht hilft dies ja bei der Antwort 😕
    Visual Studio 2010 menu



  • Ich habe nochmal etwas in der MSDN Library rumgesucht und gefunden wo ich denn diese Datei oder den Verweis eingeben muss.

    Trotzdem funktioniert es leider noch nicht.

    Hier ist noch einmal die exakte Fehlermeldung aus Visual Studio 2010:

    Error	1	error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup	
    C:\Users\Heiner\Documents\Visual Studio 2010\Projects\win32 test\win32 test\MSVCRTD.lib(crtexew.obj)
    

    Hmm... jetzt sieht es so aus als ob funktionieren würde. Aber anstatt ein Programm zu öffnen erhalte ich folgende Meldung

    'win32 test.exe': Loaded 'C:\Users\Heiner\Documents\Visual Studio 2010\Projects\win32 test\Debug\win32 test.exe', Symbols loaded.
    'win32 test.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
    'win32 test.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
    'win32 test.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
    'win32 test.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded.
    'win32 test.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
    The program '[1832] win32 test.exe: Native' has exited with code 0 (0x0).
    


  • Was hat das mit DX zu tun? Du hast das Symbol _WinMain@16 nicht definiert. Und RTFM! f'`8k

    Gruß, TGGC (Was Gamestar sagt...)



  • Versuchs mal bei Linker->Input->Force Symbol References



  • TGGC schrieb:

    Was hat das mit DX zu tun? Du hast das Symbol _WinMain@16 nicht definiert. Und RTFM! f'`8k

    Gruß, TGGC (Was Gamestar sagt...)

    Das ist eine CRT Funktion. Die muss er auch nicht definieren.



  • Danke für die Antworten und vor allem an this->that!!

    Jetzt funktioniert es und läuft flüssig.

    Danke! 👍



  • this->that schrieb:

    TGGC schrieb:

    Was hat das mit DX zu tun? Du hast das Symbol _WinMain@16 nicht definiert. Und RTFM! f'`8k

    Gruß, TGGC (Was Gamestar sagt...)

    Das ist eine CRT Funktion. Die muss er auch nicht definieren.

    Ok, du bitte auch RTFM. f'`8k

    Gruß, TGGC (Was Gamestar sagt...)



  • TGGC schrieb:

    this->that schrieb:

    TGGC schrieb:

    Was hat das mit DX zu tun? Du hast das Symbol _WinMain@16 nicht definiert. Und RTFM! f'`8k

    Gruß, TGGC (Was Gamestar sagt...)

    Das ist eine CRT Funktion. Die muss er auch nicht definieren.

    Ok, du bitte auch RTFM. f'`8k

    Gruß, TGGC (Was Gamestar sagt...)

    Nicht helfen aber große Fresse. TGGC wie man ihn kennt.



  • Nichts erklaeren und c&p Coder ranzuechten. Naja, ob du immer so bist, weiss ich nicht, ich weiss nicht, das du Walnut_Burl dann bestimmt bald wieder "helfen" darfst. f'`8k

    Gruß, TGGC (Was Gamestar sagt...)



  • TGGC schrieb:

    Nichts erklaeren und c&p Coder ranzuechten. Naja, ob du immer so bist, weiss ich nicht, ich weiss nicht, das du Walnut_Burl dann bestimmt bald wieder "helfen" darfst. f'`8k

    Gruß, TGGC (Was Gamestar sagt...)

    Ich habe jetzt nicht verstanden was du damit ausdrücken wolltest, aber this->that hat mir geholfen und gut ist!
    Jetzt funktioniert es und ich bin ihm sehr dankbar und dann muss man nicht noch solch einen Kommentar ablassen 😉



  • Ist doch nett von mir, ihn auf seine Fehler hinzuweisen. Vielleicht merkt er es sich ja und macht es beim naechsten Mal besser. f'`8k

    Autocogito

    Gruß, TGGC (Was Gamestar sagt...)


Anmelden zum Antworten