Linker Fehler
-
hallo erstmal
also ich habe folgendes problem,ich habe mir das buch Spieleprogrammierung mit c++ und Genesis3D für Kids von Hans-Georg Schumann gekauft,das buch ist sowol für den c++ builder als auch für microsoft c++,ich habe mich für c++ builder endschieden.
in dem buch steht das ich den konsolen-experte aufrufen soll,dann öffnet sich ein kleines fenster in dem ich bei multi-threads und bei c++ ein häckchen rein mache,so,danach soll ich die dateien Project1.res/unit1.c++ aus dem project entfernen,dann soll ich wieder ne c++ und ne h.datei dem project hinzufügen nur gibt es diese gar nicht.
würde mich freuen wenn mir einer helfen könnte.als info: ich habe das buch c++ für kids(Hans-Georg schumann)vollstendig und das buch c++ lernrn und verstehen (Wolfgang Soltendick) zum teil abgearbeitet
danke im vorraus
gruß Flubber
-
Kauf dir ein anderes Buch! Sry, aber diese "für kids" Reihe ist völlige [gggggggggaaaaaaaaannnnnnnnnnnnzzzzzzzzz böses deutsches Substantiv]. Ich hatte mal n Buch davon ausgeliehen (ich glaub "C++ für Kids" oder so) und das war wirklich strafbar niveaulos, unvollständig und schon fast pädophil geschrieben, dass mir dazu eigentlich die Worte fehlen.
Und entsprechend würde ich dir empfehlen ein anderes Buch zu kaufen, da du denke ich sonst nie auf festen Boden kommst und immer wieder nachfragen musst

Ok, jetzt willst du bestimmt ne Empfehlung für ein Buch haben, oder?
Also, ich habe 2 Bücher zu dem Thema gelesen die beide ihre Vor und Nachteile haben:DirectX 9 und Visual C++ 3-8272-6454-5
Wiederholt und baut in den ersten Kapiteln erstmal die C++-Kenntnisse aus, die aber grundlegend schon da sein sollten.
Im 2. Bereich wird dann DirectDraw vorgestellt und sehr umfangreich besprochen.
Im 3. geht es dann um 3D-Grafik. Aber die ca 250 Seiten sind dazu einfach viel zu wenig. Viel zu viele Fragen bleiben offen. Das was erklärt wird ist aber gut.Da allerdings DirectDraw abgeschafft wurde (du darfst natürlich trotzdem noch damit coden ;)) und der 3D-Teil sehr moderat ausfällt kann ich das Buch nicht empfehlen.
3D Spiele mit C++ und DirectX 3-8272-6453-7
Gliedert sich in 3 gleichgroße Teile:Im ersten geht es fast nur um Mathe und Physik. Sehr umfangreich, sehr knapp und man muss es mehrmals lesen ums zu kapieren, aber auch sehr wichtig um später noch mitzukommen^^
Im zweiten geht es um 3D. Die Seitenanzahl entspricht wieder ungefähr den 250 Seiten von dem anderen Buch, ABER die Infos sind wesentlich kompakter, tiefgründiger, sinnvoller und auch interessanter als in dem anderen Buch. Aber es wird vorausgesetzt das man in C++ hantieren kann und das man seine Mathe-HA's gemacht hat.
Der 3. Teil ist die "Entstehungsgeschichte" eines Games vom Konzept bis zum fertigen Game. Sehr interessant, da man a) was über Game-Design lernt und auch b) noch das Wissen vom 2. Teil ausbaut.
Das Buch kann ich jedem empfehlen, der sich mit C++ auskennt und was ordentliches lernen will.
So ich hoffe ich konnte dir ein wenig helfen^^
PS: falls du dich wunderst das da "v******" steht, dass heißt nicht v o r r a u s sondern voraus

-
danke für den tipp,schade nur um die pipen für das buch
gruß Flubber
-
ja, sry, aber 40€ ist vielleicht kein Pappenstiel, aber so viel ist das auch nicht.....
Wehe du beschäfftigst dich mal mit CompilerDesign und willst (und quasi musst
)dir Compilers kaufen, denn das Teil kostet 85€ 
-
hallo,ich mal wieder
ich habe das buch problem gelöst und komme jetzt soweit damit klar.
und schon taucht das nächste problem auf--------------------Konfiguration: game - Win32 Debug--------------------
Linker-Vorgang läuft...
d3ddrv.dll : fatal error LNK1136: Ungueltige oder beschaedigte Datei
Fehler beim Ausführen von link.exe.game.exe - 1 Fehler, 0 Warnung(en)
was soll ich da machen ?
ich hoffe es kann mir jemand helfen (habs jetzt mit vc++6.0 gemacht)
danke schon malgruß Flubber
-
Man kann keine dlls linken. Die sind nur zum Ausfuehren noetig. f'`8k
AutocogitoGruß, TGGC (making great games since 1992)
-
ups danke
das muss ja einen dummen gesagt werden.
das ist das problem beim selbst studium,es fehlt einfach ein lehrer den man mal fragen kanngruß Flubber
-
ESS_CB schrieb:
ja, sry, aber 40€ ist vielleicht kein Pappenstiel, aber so viel ist das auch nicht.....
Wehe du beschäfftigst dich mal mit CompilerDesign und willst (und quasi musst
)dir Compilers kaufen, denn das Teil kostet 85€ 
Meinst du das "Drachenbuch"?
Hab ich für 35€ erworben.Gute Programmierbücher kosten eigentlich alle richtig Geld.
-
darthdespotism schrieb:
Hab ich für 35€ erworben.
Ar**h

wo hast du das her? Aber nicht etwa neu, oder?
PS: das heißt "DragonBook", klingt nämlich viel besser

-
Originalverschweist

Ist die sogenannte "Internationale Ausgabe" der 2. Auflage, also nicht mehr ganz aktuell und "nur" softcover.
Enthält allerdings einen Zugangscode für die Restlichen Kapitel der 3. Auflage
Gibts regelmäßig bei fachbuchwelt.de 34,95€
-
TGGC schrieb:
Man kann keine dlls linken. Die sind nur zum Ausfuehren noetig. f'`8k
Besser gesagt, dlls werden gewöhnlich indirekt mittels import libs gelinkt, aber dlls direkt linken kann man mit z. Bsp. MinGW auch.
Bedenke auch, was die Abkürzung von dll bedeutet
-
so,benutze den thread mal gleich weiter
soweit funktioniert erst mal alles habe die genesis.lib datei gelinkt und die
libcmt.lib ausgeschlossen wie es im buch stand.
so das ich mein fenster starten konnte und in meiner 3Dwelt schauchen konnte
(nur schauen noch nicht bewegen)jetzt habe ich folgenden code hinzu geschrieben mit dem ich mich bewegen Könnebool TGame::GetInput (void)
{
const float xDiff = 10.0;
const float yDiff = 5.0;
const float zDiff = 15.0;
if (GetAsyncKeyState(VK_LEFT) < 0) ViewVector.X -= xDiff;
if (GetAsyncKeyState(VK_RIGHT) < 0) ViewVector.X += xDiff;
if (GetAsyncKeyState(VK_UP) < 0) ViewVector.Z -= zDiff;
if (GetAsyncKeyState(VK_DOWN) < 0) ViewVector.Z += zDiff;
if (GetAsyncKeyState(VK_PRIOR) < 0) ViewVector.Y += yDiff;
if (GetAsyncKeyState(VK_NEXT) < 0) ViewVector.Y -= yDiff;
if (GetAsyncKeyState(VK_ESCAPE) < 0)
return false;
else
return true;
}es musste auch an anderen stellen des codes etwas geändert werden,habe ich auch alles gemacht,auch habe ich die header datei aktuallisiert wie es im buch stand.
hier nun die fehlermeldungen:Kompilierung läuft...
spiel.cpp
Linker-Vorgang läuft...
genesis.lib(bitmap_gamma.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
genesis.lib(electric.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
genesis.lib(paloptimize.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
genesis.lib(engine.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
genesis.lib(Camera.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
genesis.lib(Light.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
genesis.lib(Surface.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __ftol2
Debug/game.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.game.exe - 8 Fehler, 0 Warnung(en)
gruß Flubber