Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

08.01.2008, 21:55

Probleme mit VC++ 2005 Express

Hallo zusammen

Ich finde das Buch bis jetzt wirklich gut und wollte dann natürlich auch mal die Programme/Beispiele ausprobieren.
Leider habe ich nur den Borland Builder und habe mir daher die Express Version von VC geholt und es da versucht. Leider bin ich daran gescheitert da ich die ganze Zeit nur Fehler bekomme und nicht genau weiß wo ich die Lib Dateien hinzufügen muss...
Habe dann das ganze nochmal mit Borland versucht und hab auch das erste geschafft (Adapterinfos und die Videomodi des Adapters).
Doch dann komm ich nicht mehr weiter...
Habe schon nach Tutorials für VC++ gesucht aber nicht gefunden (außer Bücher).
Hab auch hier durch die Suche nichts gefunden...
Wenn das nichts all zu schweres ist wäre es nett wenn mir das jemand erklären könnte

Grüße White

$nooc

Alter Hase

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

2

08.01.2008, 22:20

also wenn du ordner angeben willst in denen sich die libs befinden:

Extras -> Optionen..

dann kommt ein dialog:
Projekte und Projektmappen -> VC++ Verzeichnisse


falls du nur zusätzliche abhängikeiten für dein projekt bestimmen willst:

Projekt -> Projekt-Eigenschaften (ganz unten)

dialog erscheint:
Konfigurationseigenschaften -> Linker -> Befehlszeile:

und dann unten bei Zusätzliche Optionen einfach die entsprechenden libs eintragen zb abc.lib xyz.lib einfach nur ein leerzeichen zwischen den libs .. ohne beistrich oder so
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

3

09.01.2008, 14:55

Zitat von »"$nooc"«


Konfigurationseigenschaften -> Linker -> Befehlszeile:

und dann unten bei Zusätzliche Optionen einfach die entsprechenden libs eintragen zb abc.lib xyz.lib einfach nur ein leerzeichen zwischen den libs .. ohne beistrich oder so
Konfigurationseigenschaften -> Linker -> Eingabe und dann alles in das oberste Feld auf der rechten Seite eintragen. Ist einfacher und übersichtlicher, aber anderst geht 's auch
Signaturen werden überbewertet

4

09.01.2008, 20:32

Danke für die Antworten.
Hoffe ich habe die Libs jetzt richtig eingebunden...

Bekomme jetzt aber diese Fehler:

1>Kompilieren...
1>Fenster.cpp
1>f:\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'Typumwandlung': Konvertierung von 'LONG' in größeren Typ 'PVOID'
1>f:\tribase\include\tbgui.h(288) : warning C4267: '=': Konvertierung von 'size_t' nach 'int', Datenverlust möglich
1>InitWindow.cpp
1>f:\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'Typumwandlung': Konvertierung von 'LONG' in größeren Typ 'PVOID'
1>f:\tribase\include\tbgui.h(288) : warning C4267: '=': Konvertierung von 'size_t' nach 'int', Datenverlust möglich
1>f:\tribase\beispiele\allgemeines\initwindow.cpp(23) : error C2440: 'Initialisierung': 'const char [16]' kann nicht in 'LPCWSTR' konvertiert werden
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>f:\tribase\beispiele\allgemeines\initwindow.cpp(50) : error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [16]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>f:\tribase\beispiele\allgemeines\initwindow.cpp(67) : error C2664: 'UnregisterClassW': Konvertierung des Parameters 1 von 'const char [16]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
1>Code wird generiert...
1>Das Buildprotokoll wurde unter "file://c:\Programme\VC++ Verzeichnis\Debug\BuildLog.htm" gespeichert.
1>test - 3 Fehler, 4 Warnung(en)


Ist das Fenster Beispielprogramm (Kapitel 2)
Hab die Lib un Inc Verzeichnisse der SDKs und der Engine über Extras->Optionen->Projekte und Projektmappen-> VC++ Verzeichnisse eingebunden und die benötigten Libs bei Projekt->Eigenschaften->Linker->Befehlszeile so eingebunden:
"C:\Programme\Microsoft DirectX SDK (December 2005)\Lib\x86\d3d9.lib"
"C:\Programme\Microsoft DirectX SDK (December 2005)\Lib\x86\dxerr9.lib"

Ist das richtig mit den " oder iste es egal oder weglassen?

Weiß noch jemand woher der Fehler mit C:\Programme\Windows.obj konnte nicht gefunden werden kommt? (Hatte ich vorher aber jetzt mache ich alles genau gleich aber bekomm andere Fehler :( )

Un noch ein eetwas blöde Frage aber F7 ist schon richtig fürs ausführen bzw kompilieren?

Sind vllt etwas viel Fragen wäre aber nett wenn mir jemand helfen könnte.
Probier das jetzt schon seit 3 Tagen :(

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

5

09.01.2008, 20:36

Du musst dein Projekt von UNICODE auf NICHT FESTGELEGT stellen
( denk ich doch mal :D )

6

09.01.2008, 21:28

Dann bekomm ich 22 statt 3 Fehler :D
Aber kann ja auch sein das die besser sind...
ich poste die mal kurz


1>Verknüpfen...
1>Fenster.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadIconA@8" in Funktion "_WinMain@16".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateWindowExA@48" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetSystemMetrics@4" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__AdjustWindowRect@12" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetRect@20" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RegisterClassExA@4" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadCursorA@8" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__UnregisterClassA@8" in Funktion ""enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)".
1>InitWindow.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>InitWindow.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>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DestroyWindow@4" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__EndPaint@8" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__FillRect@12" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetStockObject@4" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__BeginPaint@8" in Funktion ""long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)".
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup".
1>C:\Programme\VC++ Verzeichnis\Debug\test.exe : fatal error LNK1120: 16 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Programme\VC++ Verzeichnis\projekte\test\test\Debug\BuildLog.htm" gespeichert.
1>test - 17 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Too_noobish

Treue Seele

Beiträge: 165

Wohnort: Wels - Aut

  • Private Nachricht senden

7

09.01.2008, 21:57

@Databyte: Muss man dafür nicht auf Multi-Byte umstellen? Glaub ich zumindest.
www.mymuesli.com !!

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

8

09.01.2008, 22:10

Meiner Meinung mach sollte man derartige Fehler beheben und nicht beseitigen, indem man Unicode deaktiviert :roll:

9

09.01.2008, 23:37

Wenn du ne Idee hast kannst die gerne sagen ;)

Ansich is es mir egal wie mans behebt hauptsache es tut ;)

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

10

10.01.2008, 00:29

Mhm ich kann zwar aus den Fehlern auf deinen Code schließen, aber Zeig ihn mir mal bitte.

Du musst im Prinzip vor einen String, den du an CreateWindowEx übergibst ein L setzen: L"BLABLA" statt "BLABLA"

Nur vermute ich dass du als zweiten Parameter nicht so etwas wie "WindowClass" übergibst, sondern mehr wndclass.lpszClassName oder so.

Werbeanzeige