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

04.06.2010, 16:18

Stress mit der SDL

Ich habe begonnen ein kleines Pong zu schreiben und wollte dafür mit Heikos Framework zuerst einmal einfach einen schwarzen bildschirm anzeigen lassen.
Allerdings wimmelt es bei mir beim kompilieren von fehlern wie:

Quellcode

1
1>Framework.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_SDL_Init".


Ich nutze VC++ 2008 express und kann das spiel von Heiko komilieren.

Danke im voraus
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

idontknow

unregistriert

2

04.06.2010, 16:25

fehlt wohl ne lib beim linken :)

mach mal in deine main.cpp

#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL.lib")

evtl musst lib un den string vertauschen weiß es net genau :)

little_Progger

Treue Seele

Beiträge: 188

Wohnort: Nähe Bielefeld

Beruf: Azubi

  • Private Nachricht senden

3

04.06.2010, 16:53

Ne das sollte so schon richtig sein.

Aber link es lieber direkt im Linker sofern du vor hast die SDL auf langfristige Sicht für Projekte zu benutzen, da du es dann nur einmal linken musst. Der Kompiler sucht dann immer auch im hinzugefügtem Verzeichnis nach den Libs für die SDL.

4

04.06.2010, 17:12

ich und meine unaufmerksamkeit:
hatte es nur im debugmodus gelinkt, dann aber für die SDL in den Release gewechselt
jetzt krieg ich mal wieder die nette Zeile:

Quellcode

1
1>LINK : fatal error LNK1104: Datei "libc.lib" kann nicht geöffnet werden.

an der ich schon häufiger verzweifelt bin.
Kompiliert wird mit multithreaded-DLL
multithreaded klappt auch nicht
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

5

04.06.2010, 19:50

Was soll denn libc.lib sein?

Lösche die mal aus den zusätzlichen abhängigkeiten...

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

6

04.06.2010, 21:40

da liegt ja der haken, ich habe lediglich SDL.lib und SDLmain.lib gelinkt :(
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

7

04.06.2010, 21:49

Guckste hier

Zitat

Posted - 6/26/2007 8:28:37 AM
libc.lib is the single threaded static runtime library which is no longer available since VC8. Change project settings to a multi threaded runtime library instead. Project->Properties->Configuration Properties->C/C++ and select a library under Runtime Library. Multi Threaded (/MT) or the debug version would the closest match to what libc.lib is.

EDIT: Ich seh grad, das hat ja auch nicht funktioniert... Eventuell im Debug-Modus mal Mit /MTd oder /MDd kompilieren...
mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »CBenni::O« (04.06.2010, 21:55)


8

04.06.2010, 21:51

lasse es unter MT laufen und der selbe fehler ist noch da
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

9

04.06.2010, 22:00

Im Buch steht, dass du Multithreaded-DLL auswählen sollst... (Abschnitt 12.2.1 in meiner version)
Überprüfe mal, ob du alles richtig erstellt hast... Erstelle am besten ein neues projekt ;)
mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

10

04.06.2010, 22:51

Multithreaded-DLL funktioniert ebenfalls nicht
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

Werbeanzeige