ständige 2019er mit VisualStudio express 2005

UncleBob

Mitglied
Jaja, ich probier mal wieder was zusammenzubasteln, da stell ich wieder dumme fragen...

Ich hab erst grad mein System neu aufgesetzt, das Vstudio neu installiert, alle SDK's wieder installiert (.Net, Windows Server 2003 und DirectX 7 (arbeite nur 2d)) und stehe immer noch mit demselben problem da wie früher schon:

Ich krieg keine samples zum Laufen. Keine DirectX samples, keine OpenGL samples, eigentlich so ziemlich gar nichts. So war das früher schon, und ich hab das Problem nie gelöst, hab einfach ein bisschen um die Grafik rumprogrammiert, aber so langsam müsste ich da schon was auf den Bildschirm kriegen.

Ich hab mal ne Iso-engine mit VB 5 programmiert, war nicht wirklich ein Problem... Mit C++ würd ichs wohl auch schnallen, wenn ich denn endlich einmal etwas builden könnte. Aber da kommen nur Links 2019er zu fliegen, en masse. Soweit ich sehen kann bezieht sich kein einziger auf den Code im Fenster, das Problem scheint bei den Bibliotheken zu liegen. Das sind wohlgemerkt dieselben Bibliotheken mit denen der Sample-code gekommen ist. So langsam stinkt mir das... Ich würde gerne mal wieder ein bisschen programmieren und mich nicht bloss mit dem Compiler rumärgern. Wenn das so weitergeht mach ich am Ende einfach einen Rogue-like mit Ascii-Grafik! *grmbl*

Und ja, die Verzeichnisse sind eigentlcih alle registriert... Ich begreifs einfach nicht. Ich versteh nicht mal richtig was der Compiler da eigentlich macht, noch weniger versteh ich sein Problem. Wäre wirklich froh wenn mir mal jemand aus dieser Misere helfen könnte...

Ach ja, falls das hilft, die Meldungen sehen meistens etwa so aus:

Code:
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DestroyWindow@4" in Funktion ""long __cdecl InitFail(struct HWND__ *,long,char const *,...)" (?InitFail@@YAJPAUHWND__@@JPBDZZ)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__MessageBoxA@16" in Funktion ""long __cdecl InitFail(struct HWND__ *,long,char const *,...)" (?InitFail@@YAJPAUHWND__@@JPBDZZ)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TextOutA@20" in Funktion ""void __cdecl UpdateFrame(struct HWND__ *)" (?UpdateFrame@@YAXPAUHWND__@@@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetTextExtentPointA@16" in Funktion ""void __cdecl UpdateFrame(struct HWND__ *)" (?UpdateFrame@@YAXPAUHWND__@@@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetClientRect@8" in Funktion ""void __cdecl UpdateFrame(struct HWND__ *)" (?UpdateFrame@@YAXPAUHWND__@@@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetTextColor@8" in Funktion ""void __cdecl UpdateFrame(struct HWND__ *)" (?UpdateFrame@@YAXPAUHWND__@@@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetBkColor@8" in Funktion ""void __cdecl UpdateFrame(struct HWND__ *)" (?UpdateFrame@@YAXPAUHWND__@@@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__PostMessageA@16" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DefWindowProcA@16" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetCursor@4" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__PostQuitMessage@4" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetTimer@16" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_DirectDrawCreateEx@16" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_IID_IDirectDraw7" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetFocus@4" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__UpdateWindow@4" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ShowWindow@8" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateWindowExA@48" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetSystemMetrics@4" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RegisterClassA@4" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetStockObject@4" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadCursorA@8" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TranslateMessage@4" in Funktion "_WinMain@16".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DispatchMessageA@4" in Funktion "_WinMain@16".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetMessageA@16" in Funktion "_WinMain@16".

Es liegt nicht am Linking-subsystem, das hab ich bereits probiert... Und falls sich einer fragt warum ich nicht mal VS express 2008 installiere, Ich hab nach wie vor Win2K. Bin finanziell nicht wirklich begütert und möchte kein Geld in ein neues OS investieren um dinge zu programmieren die man vor 10 Jahren schon hat programmieren können (die ich selbst sogar vor 10 Jahren habe programmieren können... Ich komme klar mit Code und synthaxen, aber der Compiler reisst mir die Nerven aus!). Ich wäre wirklich froh um hilfe, denn ich verzweifle hier langsam. Egal ob ich versuche mit OpenGL, DirectX, SDL oder anderen Fremdbibliotheken zu arbeiten krieg ich nicht mal den simpelsten sample-code zum laufen.
 
Hmmm... habe gerade gemerkt das ich da noch jenste dependancies manuell in ein File eintragen muss, jetzt scheinen sich die Errors auf DrectX zu beschränken:

Code:
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_DirectDrawCreateEx@16" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
1>TestMain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_IID_IDirectDraw7" in Funktion ""long __cdecl InitApp(struct HINSTANCE__ *,int)" (?InitApp@@YAJPAUHINSTANCE__@@H@Z)".
 
erm... könntest du das bitte präzisieren?

Muss ich da eine weitere dependency in corewin_express.vsprops eintragen? wenn ja, was für eine genau? das hätte ich in keiner Setup-anleitung fürs DirectX-SDK gesehen.

Im Visual Studio ist das Lib-verzeichniss auf jeden fall registriert, muss ich das noch irgendwo anders tun? vielleicht irgendwo in den Projekt-eigenschaften?
 
Ok, die Sache funktioniert jetzt. Schön wäre es noch wenn mir jemand erklären könnte WARUM sie jetzt funktioniert, weil ich echt keinen blassen Schimmer habe was denn jetzt genau passiert ist.

Nach längerem suchen habe ich Hinweise gefunden das die directX bibliotheken bei den Projekteigenschaften als zusätzliche Dependencies aufgeführt werden müssen. Das habe ich bei einem Projekt getan, und es hat funktioniert. Soweit so gut. Jetzt kommt das merkwürdige:

Auf einmal füllen alle DirectX-projekte ihre zusätzlichen dependencies in den Projekteigenschaften selbstständig aus. Ich konnte also jetzt einfach andere Projekte reinladen, und sie funktionierten, alle benötigten Files erschienen ohne meinen Einfluss in den Dependencies, auch Bibliotheken die ich da gar nie eingetragen hatte (weil für mein TestProjekt nicht benötigt)... WARUM klappt das jetzt auf einmal automatisch, wärend ich vorher in den Hilfedateien nicht einmal Hinweise darauf bekam was zu tun ist? wäre irgendwie noch froh wenn ich das wüsste... :confused:
 
Zurück