DirectX mit Visual C++ 2010

afg_style

Mitglied
Hallo Leute,

weiß jemand von euch wie ich den folgenden Fehler in Visual Studion 2010 beheben kann?

Mein Programm:
C++:
#include <windows.h>    // include the basic windows header file

// the entry point for any Windows program
int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nShowCmd)
{
    // create a "Hello World" message box using MessageBox()
    MessageBox(NULL,
               L"Hello World!",
               L"Just another Hello World program!",
               MB_ICONEXCLAMATION | MB_OK);

    // return 0 to Windows
    return 0;
}

Beim debuggen kommt der Fehler:
1>------ Build started: Project: DirectX, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib.obj'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Danke
 
Das Projekt scheint mir an sich in Ordnung zu sein. Zumindest lässt es sich hier ohne Probleme bauen. Der Aufruf des Linkers im Buildlog erscheint mir seltsam. Kannst du denn andere Projekte mit deiner VS2010-Installation kompilieren (z.B. ein einfaches Konsolenprojekt)?

Grüße,
Matthias
 
Die Konsolenanwendungen lassen sich schon compelieren, aber nach dem compelieren wird die Konsole nur kurz angezeigt und dann schließt sie sich wieder. Egal ob ich jetzt "Start Debugging" oder "Start Without Debugging" ausführe.

.....google kann mir da auch nicht helfen!!

Beim erstellen eines Win32 Anwendungs kann ich auswählen ob, ich ein Empty project haben will oder nicht.
Wenn ich kein Empty project nehme kommt genau dieselbe Fehlermeldung.
 
Zuletzt bearbeitet:
Die Konsolenanwendungen lassen sich schon compelieren, aber nach dem compelieren wird die Konsole nur kurz angezeigt und dann schließt sie sich wieder. Egal ob ich jetzt "Start Debugging" oder "Start Without Debugging" ausführe.

Das ist auch normal so. Warum sollte die Konsole weiter offen bleiben, wenn das Programm fertig ist? ;)

Du kannst einfach ein leeres Projekt als "Vorlage" auswählen und dann da deinen Code einfügen. Die Templates finde ich nicht wirklich gut, die Visual Studio da im C++-Bereich anbietet. Ich starte eigentlich auch immer mit einem leeren Projekt und schraube dann bisschen an den Compiler- und Linkereinstellungen rum damit das drin ist, was für mich passt.
 
Darum geht es mir hier ja auch nicht!

Ich will einfach nur ein DirectX project erstellen, dass sich fehlerfrei compilieren lässt.
Und dazu muss ich die Compiler-Einstellungen ändern, vermute ich mal.

Siehe Fehlermeldung oben.
 
Nein, du musst einfach ein leeres Projekt erstellen, die entsprechenden Header einbinden und die nötigen Libraries linken (d3d9.lib/d3d10.lib/d3d11.lib und (falls nötig) die Hilfsbibliothek d3dx9.lib/d3dx10.ib/d3dx11.lib). Das kannst du entweder in den Linkereinstellungen machen oder via #pragma comment(lib, "libName.lib")
 
Kann ich leider nicht bestätigen, dein Projekt funktioniert ohne das kleinste Problem. Es gibt auch überhaupt keinen Grund, warum der Linker bei dem von dir geposteten Projekt die erwähnte Fehlermeldung bringen sollte, du hast weder irgendwas von DirectX verwendet noch irgendeinen der Pfade des SDKs angegeben. Der Linker kennt in dem von dir geposteten Projekt den Pfad, den in der Fehlermeldung angibt gar nicht. Da auch dein Buildlog in der Kommandozeile Dinge enthält, die in den Projekteinstellungen des von dir geposteten Projekts nicht vorhanden sind vermute ich, dass du das Projekt nicht so gepostet hast, wie du es bei dir verwendest.
 
Zurück