Allegro unter Visual C++ 2008 Express
-
Hi Leute !
Ich hab ein Problem:
ich hab mir die allegro libary besorgt und (ich hoffe doch mal ) richtig eingebunden (zumindest erkennt er die funktionen^^
aber wenn ich nun folgendes beispiel programm debuggen will, kommen 2 fehlermeldungenBeispiel-Code:
#include <allegro.h> int main(int argc,char **argv) { allegro_init(); allegro_message("HI"); return 0; } END_OF_MAIN();und HIER die Fehlermeldungen:
1>------ Erstellen gestartet: Projekt: testAllegro, Konfiguration: Debug Win32 ------ 1>Verknüpfen... 1>MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup". 1>D:\C++ Dateien\testAllegro\Debug\testAllegro.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise. 1>Das Buildprotokoll wurde unter "file://d:\C++ Dateien\testAllegro\testAllegro\Debug\BuildLog.htm" gespeichert. 1>testAllegro - 2 Fehler, 0 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Ich hoffe ihr könnt mir helfen und bitte keine kommentare wie z.b. "nimm den dev c++ der ist besser dafür" oder so ähnlich xD ich habs in ihm auch versucht aba der gefällt mir nicht der microsoft ist viel schöner...xD

MFG Mr. BigGeLs
-
Ich vermute, dass der Linker Fehler nichts mit Allegro zu tun hat.
Vielmehr scheint die C- Runtime nicht korrekt eingebunden zu sein.Versuche doch mal ein Neues Projekt zu erstellen (Win32 Console) und dann zu kompilieren / Linken. Wenn das geht, dann dein Allegro Code einbauen.
Simon
-
erstmal danke für die schnelle antwort!
ich habe das ersucht was du vorgeschlagen hast mit dem neuen projekt und es kommt immer noch der gleiche fehler mit und ohne code????
-
Nicht Konsole, nimm eine normale Win32-Anwendung.
Sollte der Fehler dann immer noch kommen, schau ich mal, wie ich's z.zt. mache.
Das Problem hatte ich schon öfters.
Als Konsolenanwendung mußt Du ihn wieder anders austricksen. Müßte ich auch mal wieder nachvollziehen.Vergiß nicht die alleg.lib im Linker anzugeben.
Nicht aufgeben, das wird schon!
-
Danke !!!!!!
mit der Win32 anwendung hats geklappt *freu* xDIch hätte noch ne frage ist wahrscheinlich das falsche forum ich möcht abaer nicht extra ein neues thema erstellen:
wenn ich ein programm aus dem buch "spieleprogrammierung" von Lennart Steinke
starte, kommt die Fehlermeldung "alld40.dll konnte nicht gefunden werden. eine neuinstallation könnte das problem beheben." und das programm wird beendet.Also ich hoffe ihr könnt mir dabei auch noch behilflich sein^^
MFG Mr. BigGeLs
-
Lege alle dlls einfach in deinen Windows/System Ordner.
Headerdateien kannst Du in den Include-Ordner des MSVC tun, die lib-Dateien auch in den entsprechenden.Schau, dass Du keinen Versionsmischmasch bekommst.
Wenn Du Allegro nicht selbst übersetzt hast, sondern das Runtime-Paket von Allegro verwendest, dürftest Du damit Version 4.0 haben. Das ist möglicherweise auch bei dem Buch dabei. Kontrolliere trotzdem mal das Erstelldatum.
alld40.dll ist die debugging-library, die sollte in beiden Fällen dabei sein.Wenn Du die Allegro-Dinge fern von Deinem System halten möchtest (wofür es eigentlich keinen Grund gibt), sollte es auch ausreichen, sie in Deinem Arbeitsordner zu plazieren.
Wenn Du später Deine fertigen Programme mal weitergeben möchtest, ist es notwendig, die entsprechende ALLxx.DLL mit dazu zu geben (also nicht die Debug-Version - unter der Annahme, dass Deine Release-Version ohne Debugging-Dinge erstellt wird).
Wirf außerdem mal einen Blick in die allegro.cfg-Datei, die kann für Leute mit anderen Systemen wichtig werden.Mich freut's auch dass es geklappt hat, denn ich hatte noch keine Bestätigung darüber, dass es mit der MSVC-Version reibungslos geht.