[C++] Allegro einbinden

DarkDaemon

Ensign
Registriert
Feb. 2005
Beiträge
167
Moin Leute,
ich will versuchen ein Spiel zu programmieren und hab mir dazu ein Buch gekauft, und zwar "Spieleprogrammierung" von Lennart Steinke. Es wird auf die Programmiersprachen C und C++ eingegangen. Ich habe Allegro und MinGW installiert und müsste jetzt eigentlich Programme schreiben können, aber als ich folgendes als *.cpp-datei im editor engegeben habe

#include <allegro.h>

int main(int argc, char **argv) {

allegro_init();
install_keyboard();

set_color_depth(16);
if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0) < 0) {
allegro_message("Unable to set graphic mode!");
exit(0);
}

for (int r = 0; r < 256; r++) {
for (int g = 0; g < 256; g++) {
putpixel(screen, r,g, makecol(r,g,0));
}
}

while (!keypressed());
} END_OF_MAIN();

wie es im Buch beschrieben war, sagte mir die Konsole beim kompilieren mittels

C:\MinGW\bin\g++.exe C:\Dokumente und Einstellungen\Michael\Desktop\prog2.cpp -o prog2.exe -lalleg

(wie es im Buch beschrieben war) folgendes:

C:MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\mingw32\bin\ld.exe: cannot find -lalleg
collect2: ld returned 1 exit status

Woran kann das liegen??

mfG
DarkDaemon :evillol:
 
Re: Probleme mit Allegro

Woher soll die Kommandozeile denn wissen, wo der Pfad zu Ende ist? Du musst den Pfad der cpp-Datei in „falschen“ Anführungszeichen (Zoll-Zeichen) aufführen:

C:\MinGW\bin\g++.exe "C:\Dokumente und Einstellungen\Michael\Desktop\prog2.cpp" -o prog2.exe -lalleg

Versuch’ das mal.
 
Re: Probleme mit Allegro

Die Fehlermeldung sagt dir, dass der Linker die allegro-Bibliothek nicht findet. -lallegro heißt, linke liballegro zu meinem Programm dazu. Schau mal, wo die liegt. Dieser Pfad sollte sich dann in deinem Suchpfad befinden. Eigentlich sollte das die Allegro-Installation gemacht haben - aber vielleicht ist da irgendwas schief gegangen.
 
Re: Probleme mit Allegro

Meine Allegro-Lib liegt in C:\allegro jedenfalls habe ich dort die zip-datei hinentpackt. Instalieren sollte ich allegro, indem ich in der eingabeaufforderung in das allegro-verzeichnis wechsle und "fix mingw32" eingebe dann in der nächste zeile "make" wozu ich erstmal rausfinden muste dass man make aus dem bin-verzeichniss von mingw in die eingabeaufforderung ziehen musste, darauf hat die kommandozeile gearbeitet und nach etlichen zeilen unlesbarer schrift musste man "make install" eingeben. dadurch sollte allegro installiert sein, aber dabei schien etwas schiefgelaufen zu sein. wo sollte denn -lallegro zu finden sein?
 
bei dir hat das geklappt ?

Hab mihc mit dem Buch nur geärgert weil es einfach nicht funktioniert hat.

Das müsste doch auch mit VC++ gehen oder ? Aber bei mir geht das nicht. Dazu hab ich ja auch schon einen Thread erstellt.
 
ich habe auch meine Probleme mit diesem Buch aber es ist das einzige was ich habe und ein neues will ich mir auch nicht kaufen. Weiß denn jemand wo meine allegro-lib sein sollte?
 
Ein einfaches suchen im Explorer nach *.lib hilft da vielleicht weiter.

MFG

Arnd
 
Ich hab mir das Buch vor ca 8 Monaten gekauft und hab es immer noch nict geschaftt die Programme von der CD zu installieren.... Ich brauch e´cht hilfe!!
 
Bei mir ist es mehrere jahre her. Mitlerweile habe ich es aufgegeben und mir ein richtiges Buch gekauft :D Über DirectX. Ist sogar einfacher zu verstehen.
 
Moin,
ich bin zwar etwas spät wollte aber kein neues Thread eröffnen und hoffe das jemand diesen "verstaubten" Thread lesen wird :D
Ich hab ebenfalls ein Problem mit Allegro und zwar schon bei der Installation.
Ich geh ma stark davon aus das das an der fehlenden fix.bat datei liegt :D mir wird nämlich die Meldung entgegengeworfen das der Befehl "fix" Falsch sei^^
wenn mir einer bei der Sache helfe kann wäre ich ihm sehr dankbar......
 
Na da ist mit deiner Beschreibung schwer zu helfen
Nutzt mal die Dateisuche nach fix.bat und sag wo sie gefunden wird. Wahrscheinlich tippst du in deiner Eingabeaufforderung von einem Ordner aus, wo die fix.bat nicht liegt

Und um auf das 5 Jahre alte Thema noch etwas zu ergänzen, da es zu deinem Problem passt:
Rechtsklick Arbeitsplatz
Eigenschaften
Tab:Erweitert
Umgebungsvariablen

Dort im unteren Bereich unter "Path" sind alle Verzeichnisse aufgelistet, die Windows automatisch "durchsucht".
Dh wenn du fix.bat in einem der dort aufgelisteten Ordner liegen hast wird sie gefunden, obwohl du mit deiner Eingabeaufforderung evtl unter C:\ arbeitest.

Die eine Lösung ist also dort weitere Pfade einzutragen
Alternativ kann man natürlich auch die benötigten Dateien an einen Ort legen, wo sie gefunden werden. (Entweder in einer aus der Path-Liste oder an den, wo man Arbeitet/Compiliert/fix.bat ausführen möchte)
 
sry bei mir is glaub ich das größte Problem das die fix.bat garnicht vorhanden ist und ich aber auch nicht weiß wo ich sie herkriegen soll.
das mit dem Einstellen der Umgebungsvariable war mir klar das muss man ja schon vorher allgemein für MinGW machen ^^
 
Ich hab eine ganz gute Anleitung gefunden, das hat auch soweit geglappt:

1. den Compiler Dev C++ downloaden (ein meiner meinung nach sehr guter und vor allem einfach zu bedienender Helfer)der Link: http://dev-c.softonic.de/

2.folgendees im Programm tuen: Tools->Check for Updates...->den unteren der angegebenen links auswählen->unten auf check för updates klicken->in der liste Allegro auswählen und for den ersten eintrag "allegro" einen hacken machen, anschließend downloaden und isntallieren.

3.ich weiss, bishierhin hat es auch schon jmd. anders beschrieben, seine Beschreibung ist jedoch nicht komplett: um allegro nutzen zu können MÜSSEN Sie ein Projekt erstellen und anschließend oben in der Menüzeile auf Project klicken, dann auf Project Options und im geöffneten fenster oben parameter auswählen, anchließend auf add libary or object klicken und in (bei mir) z.B. diesen pfad wechseln: C:\Dev-Cop\lib und dort die Datei "libaleg" öffnen, dann dürfte in der Liste ein pfad an dessen ende libaleg.a steht stehen. nur noch OK klicken und fertig, Sie können Allegro benutzen.

nun ein weiteres Problem :D
wenn ich den Code (dabei is egal was für einer solange er auf allegro zugreift) Compiliren möchte werden mir diese 3 Zeilen angezeigt:
1. [Linker error] undefined reference to`__cpu_features_init'
2.ld returned 1 exit status
3. [Build Error] [Project1.exe]Error 1

ich habe absulut keine ahnung was ich hätte falsch gemacht haben könn (ich weiß zu viel konjunktiv :D ) kann mir irgendwer auf die Sprünge helfen?
mfg ildfast
Ergänzung ()

dieses Problem hab ich jetzt auch gelöst durch mehrmaliges Deinstallieren und wieder Installieren..................................
also fals einer mal die selben Probleme haben sollte :D
 
Zurück
Oben