Schaffe es nicht mit msvc++ 6.0 eine directx-anwendung auszuführen
-
Mag sein, ich hab halt gleich auf execute gedrückt damit er das Prog auch ausführt. Leider geht es ohne das linken der libs auch net (das hab ich ja zuerst gemacht) dann sagt er
Main.obj : error LNK2001: unresolved external symbol "struct HWND__ * g_hWnd" (?g_hWnd@@3PAUHWND__@@A) Main.obj : error LNK2001: unresolved external symbol _Direct3DCreate9@4 Main.obj : error LNK2001: unresolved external symbol "int __cdecl InitWindow(int,int,char *)" (?InitWindow@@YAHHHPAD@Z) LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/Main.exe : fatal error LNK1120: 4 unresolved externalsmit dem wort dumm, das musste wohl zugeben hast du zuerst angefangen sowas artet natürlich dann schnell in geflame aus :xmas2: ok LJ_1102 hat Grips gesagt... nja
-
d3d9d.lib gibt es nicht, nur die d3d9.lib

-
nur verstehe ich nicht warum dann in diesem tutorial
http://forum.2lucky.de/archive/o_t__t_3521__direct3d-tutorial-teil1-by-monkey.html
explizit darauf hingewiesen wird. Ein tippfehler ist es ja offensichtlich nichtgebt ihr d3d9d.lib dxerr9.lib kernel32.lib an. Das ‚d’ bei d3d9d.lib steht für die Debug-Version der Bibliothek. Diese Konfiguration ist auch standardmäßig eingestellt und wird von uns beibehalten, um im Bedarfsfall die Anwendung besser debuggen zu können.
selstam seltsam...
€: ok im microsoft forum hat einer gesagt das es überhaupt nicht mehr unterstützt wird. Dann hole ich mir eben vc express.
-
Na ich wollt es schon sagen, zwischen dumm und du hast kein Grips ist kein Unterschied.
Also das DXSDK9, das ich hier hab, unterstützt es definitiv. Da steht das direkt in der readme (lesen macht schlau). Ist aber nicht das neuste.
Bye, TGGC (Das Jahr des Helden)
-
coldie schrieb:
Und sry ich versteh nicht welches Forum du meinst. Ich konnte bei Microsoft nur ein Office Forum finden. Oder meinst du ein forum auf diesem Board

Auf der Portalseite für DirectX-Entwickler ( http://msdn.microsoft.com/directx/ ) steht unten "Top Newsgroups / Newsgroup Posts" und links unter "Community" sind Links zu DirectX Developer Newsgroups, u.a. "DirectX 101" (one-oh-one), was man mit "DirectX 1x1" (einmaleins) übersetzen könnte, wo also Einsteigerfragen diskutiert werden.
Ich denke das ist mit "Forum" gemeint.coldie schrieb:
ach noch eins: Ich war mir garnicht bewusst das msvc6 jetz auch schon zum alten Eisen gehört ^^ nutzen jetzt alle visual studio 2005 express oder wie?
Naja, VS6 kam '98 auf den Markt (wie man an den Systemvoraussetzungen auch sieht), und 7,5 Jahre sind im IT-Business nunmal alt. Oder entwickelst Du noch auf Deinem Pentium 166?
Nein, VS2003.NET.
coldie schrieb:
Linking... Main.obj : error LNK2001: unresolved external symbol "struct HWND__ * g_hWnd" (?g_hWnd@@3PAUHWND__@@A) Main.obj : error LNK2001: unresolved external symbol "int __cdecl InitWindow(int,int,char *)" (?InitWindow@@YAHHHPAD@Z) LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainda über diese d3d9d.lib im internet nichts zu finden ist (google 59 unbrauchbare treffer)
bin ich relativ verzweifel.Also g_hWnd und InitWindow() sind keine DirectX-Sachen. Da fehlt wohl eher bei Dir was.
Und _main lässt wieder darauf schliessen, daß Du zur Konsole linkst aber nur WinMain() implementierst (oder umgekehrt?)...coldie schrieb:
@TGGC: Tut mir leid, der Button den ich benutze heißt "Execute Program" was ich in wilder Unvernunft als "ausführen" bezeichnet habe. Es gibt auch einen Button der Build heisst und praktisch dasselbe macht wie der "Execute Program Button", nur wäre mir als Threadtitel "kann kein directx prog mit msvc++6 builden" etwas seltsam vorgekommen.
Naja, wenn Du Dich sogar schon an DirectX versuchst, solltest Du wenigstens das niedrigste Handwerkszeug beherrschen.
Du solltest wissen, daß bei der Binär-Erstellung von C/C++-Code erstmal über den Präprozessor #defines und #includes und #pragma comments aufgelöst und ggf. eingebunden werden, und dann jedes Modul für sich kompiliert wird. Die entstandenen .obj-Dateien werden dann beim Linken gegen sich selber und gegen API-Bibliotheken gelinkt, woraus die letztendliche ausführbare Datei entsteht (.exe, *.scr, *.dll, ..).
Compile - kompiliert
Build - kompiliert und linkt
Execute - startet das fertige Programm (falls vorhanden), ansonsten == Build + ExecuteDa Du nur von "Buttons" die Du drückst redest, scheinst Du Dir dessen gar nicht bewußt zu sein, obwohl es in jedem C/C++-Tutorial auf der ersten Seite steht.
Und auch wenn hier doofe Spacken wie der blöde "Sgt. Nukem" hier rumrennen, solltest Du Dir bewußt sein, daß Du Dich in einem Fachforum befindest. Auch das "Spiel" in "Spieleprogrammierung" steht dem nicht entgegen. Entsprechend kann man von (angehenden) Profis erwarten, die Hilfestellung auf höherer Ebene wollen, daß sie ihre Fragen und Probleme gezielt stellen und detailliert erklären, und daß sie zumindest über Grundlagenwissen auf niederer Ebene verfügen.
Für Fragen a la "Mein Internet geht nicht. Wer kann helfen??!??!?!?!?!??" gehe bitte nach www.aol.de in eines der Computerforen.

Achja: Auch wenn ich mich jetzt sehr ernst, grimmig und gemein anhöre: So ist es gar nicht gemeint!

Auch Pseudo-Rechtfertigungen die ggf. kommen mögen, a la "Du bist genauso blöd wie TGGC!" kannst Du stecken lassen -- die ignorier' ich eh!
Vielmehr möchte ich ein "Ihr habt ja recht! Ich habe mich 'etwas' unklar ausgedrückt. Man möge mir das als Anfänger bitte nachsehen. (Was wir sicher tun werden.) Nach weiterer Nachforschung bei google und im Microsoft Board habe ich das Problem weiter eingrenzen können: Das Linken schlägt scheinbar wegen ...XX... fehl. Irgendwer 'ne Idee?!"
Also nehm' Dir das zu Herzen... ...und happy coding! :xmas1:
-
Gott der Nukem labert schon wieder stundenlang.
Bye, TGGC (Das Jahr des Helden)
-
TGGC schrieb:
Gott der Nukem labert schon wieder stundenlang.
TGGC == Gott
einsetzen ergibt:
TGGC der Nukem labert schon wieder stundenlang.
Parser error: TGGC is not an l-value.

-
Sgt. Nukem schrieb:
Also g_hWnd und InitWindow() sind keine DirectX-Sachen. Da fehlt wohl eher bei Dir was.
Und _main lässt wieder darauf schliessen, daß Du zur Konsole linkst aber nur WinMain() implementierst (oder umgekehrt?)...ja stimmt das sieht mir nach grundlegenden sachen aus die zum erstellen eines Fensters notwendig sind (soweit ich das mit meinen tatsächlich recht mäßigen c++ Kentnissen beurteilen kann)wirklich seltsam...
Sgt. Nukem schrieb:
Du solltest wissen, daß bei der Binär-Erstellung von C/C++-Code erstmal über den Präprozessor #defines und #includes und #pragma comments aufgelöst und ggf. eingebunden werden, und dann jedes Modul für sich kompiliert wird. Die entstandenen .obj-Dateien werden dann beim Linken gegen sich selber und gegen API-Bibliotheken gelinkt, woraus die letztendliche ausführbare Datei entsteht (.exe, *.scr, *.dll, ..).
Compile - kompiliert
Build - kompiliert und linkt
Execute - startet das fertige Programm (falls vorhanden), ansonsten == Build + ExecuteDa Du nur von "Buttons" die Du drückst redest, scheinst Du Dir dessen gar nicht bewußt
Stimmt, ich war mir zuerst nicht bewusst, dass execute nicht jedesmal neu kompiliert/linkt. Wie gesagt hätte ich halt erstellen sagen sollen.
Sgt. Nukem schrieb:
Entsprechend kann man von (angehenden) Profis erwarten, die Hilfestellung auf höherer Ebene wollen, daß sie ihre Fragen und Probleme gezielt stellen und detailliert erklären, und daß sie zumindest über Grundlagenwissen auf niederer Ebene verfügen.
Nunja es war eben kein Problem im Code. Bevor ich mit einer einfachen directx anwendung starte wollte ich erstmal eine schon vorhandene manipulieren. Um zu sehen das sie überhaupt funktioniert also vor der ersten manipulation mal testen -> und ging net. Ne andere genommen -> ging net, noch eine genommen [...] demzufolge dachte ich es reicht aus die Fehlermeldungen und die schritte die ich unternommen habe um vc++6 auf directx einszustellen zu schildern, da ja der code offensichtlich richtig sein muss.
Sgt. Nukem schrieb:
Auch Pseudo-Rechtfertigungen die ggf. kommen mögen, a la "Du bist genauso blöd wie TGGC!" kannst Du stecken lassen -- die ignorier' ich eh!
für wen hälst du mich? Aber andererseits wenn ihr euch gegenseitig andauernd mit mittelmilden Beschimpfungen eindeckt warum darf ich es euch dann nicht gleichtun ? 
Sgt. Nukem schrieb:
Vielmehr möchte ich ein [...] hören(?)
Also nehm' Dir das zu Herzen... ...und happy coding!Ja wie gesagt ich wusste nicht das er net jedesmal neu kompiliert demzufolge habt ihr natürlich umso mehr recht :p Wie gesagt ich probiers jetzt mal mit vc++2005 express. Nachdem du mich darauf hingewiesen hast, dass es nicht unbedingt an directx resourcen fehlt denke ich mal die mit dem compiler mitgelieferten dateien sind nicht vollständig. Und bevor ich vc6 nochmal installier lieber gleich vc2005. <-wie du siehts zu herzen genommen
&happy coding zurück :xmas2:
-
coldie schrieb:
Sgt. Nukem schrieb:
Auch Pseudo-Rechtfertigungen die ggf. kommen mögen, a la "Du bist genauso blöd wie TGGC!" kannst Du stecken lassen -- die ignorier' ich eh!
für wen hälst du mich?Du hast 7 Beiträge - für wen sollte ich Dich halten?!? Kann mir da noch keinen Reim drauf machen...

Naja, es gibt halt auch hier so Spezialisten, die jede Kritik als persönlichen Angriff werten und zur Verteidigung dann erstmal ein paar "Du bist doof, ey!"-Pointer in den Wald schiessen... Daher...

coldie schrieb:
Aber andererseits wenn ihr euch gegenseitig andauernd mit mittelmilden Beschimpfungen eindeckt warum darf ich es euch dann nicht gleichtun ?

Darfst Du ja.

-
Mittelmild?! Das betrachte ich als Beschimpfung.
Bye, TGGC (Das Jahr des Helden)
-
Hah! Du willst mich wohl auf deine Stufe runterziehen indem du mir ne Beschimpfung anhängst, wie?

btw. hab ichs jetzt mit vc++ 2005 express endlich geschafft das zeug zum laufen zu bringen, jetzt kanns endlich losgehen
