MoinMoin, ich wollte mal wieder etwas machen, wobei eine grafische Ausgabe ganz nett wäre. Es geht um eine Art komplexeres Conways Game of Life. Siehe auch dieser Beitrag: Beitrag "Re: zufallsabhängig eine Anzahl von Instanzen? eines Structs erstellen" Da die Anfänge von der Welterzeugung nun funktionieren, wollte ich erste grafische Darstellungen haben und hab mich dunkel an Allegro erinnert. Ich hab die Anfänge noch in nem Onlinecompiler gemacht, mir dann aber CodeBlocks installiert, damit hatte ich früher auch mal rumgemacht. Dann Allegro 5.2.7 geladen und in CodeBlocks durch die Einstellungen gewühlt, bis er endlich nicht mehr über die fehlende allegro.h gemeckert hat.(Dunkel erinnere ich mich, dass das auch früher ein ewiges rumgehangel war, bis ich es zum laufen bekommen hatte..) Dann hab ich versucht, die al_init() auszuführen. Obwohl sie mir vom AutoFill vorgeschlagen wurde, hat er beim compilieren nen Fehler (undefined reference to al_install_system)geworfen. Daraufhin hab ich dann "irgendwo" gelesen, DevC++ hätte nen supidupi PacketManager, mit dem das alles wie von selbst klappt. ALso DevC++ installiert, Allegro in den PacketManager geworfen, der hat fleißig installiert. Aber DevC++ findet dann wieder nicht einmal die allegro.h, obwohl sie halt genau da liegt, wo der PacketManager sie hingeschoben hat.... Wieso ist das eigentlich immer so ein Krampf, sowas zum laufen zu bekommen? Und nein, dass ist nicht die Hauptfrage. Die Hauptfrage ist: Wie bekomme ich Allegro in CodeBlocks oder meinetwegen auch DevC++ zu laufen? MfG Chaos
Hallo, du hast dem compiler gezeigt, wo die header files liegen. Jetzt musst du noch dem linker sagen, wo die .lib files sind. Klingt nämlich nach einer Fehlermeldung vom Linker
J. T. schrieb: > MoinMoin, > > ich wollte mal wieder etwas machen, wobei eine grafische Ausgabe ganz > nett wäre. Es geht um eine Art komplexeres Conways Game of Life. Siehe > auch dieser Beitrag: > Beitrag "Re: zufallsabhängig eine Anzahl von Instanzen? eines Structs erstellen" Deine Feuilleton ist falsch konfiguriert!
nicht"Gast" schrieb: > Hallo, > > du hast dem compiler gezeigt, wo die header files liegen. Jetzt musst du > noch dem linker sagen, wo die .lib files sind. > > Klingt nämlich nach einer Fehlermeldung vom Linker In Codeblocks zumindest hatte ich ihm auch das mitgeteilt. Content B. schrieb: > Deine Feuilleton ist falsch konfiguriert! Bitte was?
In DevC++ läuft es zwischenzeitlich. Aber der Editor ist grausam. Wenn ich in CodeBlocksk auf die selben Dateien verweise wie in DevC++, geht es trotzdem nicht. Ich bekomme immer noch ne undefined reference to und nen error: ld returned 1 exit status. Gibt es irgendeinen geheimen Trick, CodeBlocks zu sagen, womit er verlinken soll? Bisher sage ich es ihm unter Projects->BuildOptions->LinkerSettings und Settings->CompilerSettings...
J. T. schrieb: > Ich bekomme immer noch ne undefined reference to Der geheime Trick hängt davon ab, wie genau die Fehlermeldung weitergeht. Oliver
Oliver S. schrieb: > Der geheime Trick hängt davon ab, wie genau die Fehlermeldung > weitergeht. Naja sie geht so weiter, dass er sagt, er fände eine Funktion nicht, die mir aber von dem Autovervollständigen vorgeschlagen wird. Wenn ich dem Linker von Devc++ sage, er soll mit dieser Datei verlinken, dann geht es. Sage ich dem codeblockslinker, er soll die selbe Datei nutzen, kommt es zu der Fehlermeldung. Immerhin ist er inzwischen soweit, das Fehlen einer Unterfunktion der aufgerufenen anmäkelt. Vorher hatte er direkt das Fehlen der genutzten Funktion angemäkelt, was ich überhaupt nicht verstehe, denn zwischenzeitlich hatte ich eigentlich nichts geändert....
In diesem Fall wirst du wohl bei DevC++ bleiben müssen. Alternativ würde etwas RTFM zum anlegen von Projekten in CodeBlocks auch helfen, aber das scheint ja nicht zum Ziel geführt zu haben. Oliver
J. T. schrieb: > Oliver S. schrieb: >> Der geheime Trick hängt davon ab, wie genau die Fehlermeldung >> weitergeht. > > Naja sie geht so weiter, dass er sagt, er fände eine Funktion nicht, die > mir aber von dem Autovervollständigen vorgeschlagen wird. Ja, weil die Autovervollständigung auf Compiler-Ebene arbeitet, die Fehlermeldung aber vom Linker kommt. > Wenn ich dem Linker von Devc++ sage, er soll mit dieser Datei verlinken, > dann geht es. Sage ich dem codeblockslinker, er soll die selbe Datei > nutzen, kommt es zu der Fehlermeldung. Immerhin ist er inzwischen soweit, > das Fehlen einer Unterfunktion der aufgerufenen anmäkelt. Vorher hatte er > direkt das Fehlen der genutzten Funktion angemäkelt, was ich überhaupt > nicht verstehe, denn zwischenzeitlich hatte ich eigentlich nichts > geändert.... Deswegen ist es besser, wenn man auch ohne dieses ganze IDE-Geraffel versteht, was da vor sich geht. Der von dir genannte Fehler kann verschiedene Ursachen haben. Entweder fehlt die Angabe irgendeiner Library, oder es wird auf eine falsche Version verwiesen, oder die Linkreihenfolge ist falsch, oder oder oder. Das ist eben die Crux, wenn eine IDE einem das alles macht. Sobald mal was nicht tut, steht man da, wie der Ochs vor'm Berg.
:
Bearbeitet durch User
Oliver S. schrieb: > Mal dumm gefragt: Was hast du denn da geladen? Das hier: https://www.allegro.cc/forums/thread/618381
Rolf M. schrieb: > Entweder fehlt die Angabe irgendeiner > Library, oder es wird auf eine falsche Version verwiesen, oder die > Linkreihenfolge ist falsch dann sollte es aber auch in DevC++ unfunktionell sein. Hat evtl noch jemand, der sich mit CodeBlocks auskennt, was dazu zu sagen wo es ausser in den ProjectSettings und GlobalSettings man etwas zum Linker einstellen kann? Rolf M. schrieb: > Deswegen ist es besser, wenn man auch ohne dieses ganze IDE-Geraffel > versteht, was da vor sich geht. Naja, grob verstehe ich schon, was da so grundsätzlich passiert. Ich habe nur eigentlich so überhaupt gar kein Interesse daran, mich auch noch mit dem make-krams auseinander zu setzen. Ich will mich einfach nur mit dem befassen, was passieren soll. Es ist halt nur doof, wenn das so nicht geht, im großen und ganzen hast du mein Problem gut erkannt und zusammengefasst. Hilfreich war es irgendwie trotzdem nicht. Oliver S. schrieb: > Alternativ würde etwas RTFM zum anlegen von Projekten in CodeBlocks auch > helfen, aber das scheint ja nicht zum Ziel geführt zu haben. Auch du hast da etwas grundsätzlich richtiges erkannt. Nur leider auch völlig ohne jeden praktischen Wert, was Änderung des Problems anbelangt.
Es gibt doch im Netz dutzende Anleitungen dazu: https://raw.githubusercontent.com/anagorko/zpk2014/master/z7/allegro_codeblocks.pdf Und wenn die IDE nicht funktioniert, versuche doch mal den Befehl in der Konsole auszuführen. Die Befehle stehen doch alle auf der Webseite: https://github.com/liballeg/allegro_wiki/wiki/Quickstart Wenn das klappt, dann weißt du zumindest, dass die Installation korrekt ist. Dann kannst du dich mit der IDE beschäftigen.
J. T. schrieb: > Rolf M. schrieb: >> Entweder fehlt die Angabe irgendeiner >> Library, oder es wird auf eine falsche Version verwiesen, oder die >> Linkreihenfolge ist falsch > > dann sollte es aber auch in DevC++ unfunktionell sein. Dann vergleiche doch einfach mal die Linker-Kommandozeile, die die beiden produzieren, miteinander. Da muss es ja irgendeinen Unterschied geben. Das gibt dir vielleicht einen Hinweis darauf, was falsch eingestellt sein könnte. > Rolf M. schrieb: >> Deswegen ist es besser, wenn man auch ohne dieses ganze IDE-Geraffel >> versteht, was da vor sich geht. > Naja, grob verstehe ich schon, was da so grundsätzlich passiert. Ich > habe nur eigentlich so überhaupt gar kein Interesse daran, mich auch > noch mit dem make-krams auseinander zu setzen. Wie schon gesagt: Das ist genau so lange ganz praktisch, bis was nicht so funktioniert, wie es soll. > Ich will mich einfach nur mit dem befassen, was passieren soll. Es ist > halt nur doof, wenn das so nicht geht, im großen und ganzen hast du mein > Problem gut erkannt und zusammengefasst. Hilfreich war es irgendwie > trotzdem nicht. Ich kenne mich mit den genannten IDEs nicht aus, habe aber auch derartige Probleme nicht.
J. T. schrieb: > Oliver S. schrieb: >> Mal dumm gefragt: Was hast du denn da geladen? > > Das hier: > https://www.allegro.cc/forums/thread/618381 Nun ja, wer unpräzise fragt. Ich versuchs nochmal: Hast du a) den Sourecode b) eine der vorcompilierten MinGW-Libs heruntergeladen, und wenn b), welche? Oliver
Heureka es scheint erstmal zu kompilieren in CodeBlocks. richtige Reihenfolge schrieb: > Es gibt doch im Netz dutzende Anleitungen dazu: > > https://raw.githubusercontent.com/anagorko/zpk2014/master/z7/allegro_codeblocks.pdf Ich bin nach nem Youtube-"tutorial" vorgegangen. Der hatte vermutlich dein verlinktes PDF als Vorlage, sagte jedoch man solle einfach das neuste allegro laden, das man findet. Das war in meinem Fall "Allegro-5.2.7", wo ich es fand, kann ich leider nicht mehr sagen. Die hatten aber ein anderes Namensschema. Zwar sehr ähnlich, und die ähnlichsten waren dann auch die, die in DevC++ funktioniert haben. Nachdem ich nun von direkt von Allegro.cc "allegro-5.0.10-mingw-4.7.0" geladen habe, klappt. Vielen Dank dafür. Rolf M. schrieb: > Dann vergleiche doch einfach mal die Linker-Kommandozeile, die die > beiden produzieren, miteinander. Da ich mit DevC++ so überhaupt gar nicht zu recht komme, ausser auf den Build und Run button zu klicken, und es sehr sparsam mit Informationen ist, kann ich da leider nicht viel vergleichen. In CodeBlocks meckerte der Linker über "al_init_systeminit" not fund. Aber das is ja nu jetzt behoben =) Oliver S. schrieb: > Nun ja, wer unpräzise fragt. Die präzisierung der Frage hat ungemein geholfen, vor allem in Zusammenhang mit dem von "Richtige Reihenfolge" rausgesuchtem PDF. Auch dafür meinen herzlichen Dank. Was ich lud sagte ich ja weiter oben im Beitrag. Also nochmal für alle, die auch Probleme haben, CodeBlocks mit Allegro zum laufen bekommen: Einfach haargenau und Schritt für Schritt der Anleitung im PDF folgen. Stand: siehe Postingdatum P.S. Und nicht, wie ich gerade, vergessen, die entsprechende dll, mit in dem Projektordner von CodeBlocks zu schmeißen. Ich bin mir gerade nicht sicher, ob dass noch im PDF erwähnt wird.
:
Bearbeitet durch User
im pdf-File wird ja eine uralte Version benutzt. Diese heute zu benutzen, ist nicht wirklich eine Lösung. Das sollte keine Anleitung sein, sondern nur eine Orientierung. Du musst halt schauen, wo in der IDE was eingestellt wird. Du willst ja damit arbeiten.
J. T. schrieb: > MoinMoin, > > ich wollte mal wieder etwas machen,... Tja, das was du wolltest, scheint mir am ehesten mit den Worten "ich wollte mal wieder etwas zusammenkopieren..." umschreibbar zu sein. Ich halte sowas nicht für die zielführende Methode. Installiere dir irgend ein Programmpaket für deine Lieblings-Programmiersprache und konzentriere dich zuvörderst auf das Verstehen und Formulieren der grundlegenden Algorithmen. Das führt dann ziemlich geradlinig zu einem funktionierenden Programm. W.S.
W.S. schrieb: > Tja, das was du wolltest, scheint mir am ehesten mit den Worten.... Tja, mir hingegen scheint, du solltest einen Kurs im sinnerfassenden Lesen besuchen. Dann sollte auch dir klar werden, das Verweise auf make und Co im Laufe des Threads geflissentlich übersehen wurden und ich es wirklich mit Codeblocks machen möchte, meine ach so zusammenkopierten Algorithmen zu schreiben. Da es in der alten Version geht, und es sogar Beschreibungen gibt, wie die neue zum laufen bekommen sei, gehe ich davon aus, dass das grundsätzlich gehen sollte. Dafür ist aber kein Wissen über Algorithmen nötig, sondern Wissen über Codeblocks. Mir fehlt dieses. Und wenn es dir auch fehlt, kannst du in diesem Thread wohl nichts beitragen. Aber schon dass du dich so eloquent profilieren konntest.
Da kannste machen nix. Das W.S. alles verteufelt was über den Aufruf des Compilers in einer Batchdatei hinausgeht, dürfte hier doch mittlerweile hinlänglich bekannt sein.
J. T. schrieb: > Dann sollte auch dir klar werden, das ... Es heißt "daß" oder für Schweizer "dass". Und dir sollte auch mal klar werden, daß man bei Kenntnis der zugrundeliegenden Algorithmen auch mal schnell Delphi oder Lazarus installieren kann und dort ohne jegliches Codeblocks seine Simulationsergebnisse/GameOfLife-Verläufe sogar grafisch darstellen kann, ohne sich hilflos die Haare zu raufen über irgendwelche Fehlermeldungen, die man sogar lesen kann ("undefined reference to al_install_system"). Das hängt nicht an der verwendeten Programmierspache, sondern an der generellen Herangehensweise. Wer wie du zuvörderst Zeugs zusammeklickt, der braucht sich nicht zu wundern, wenn es mal hakelt. W.S.
Klar, sobald eine Fehlermeldung erscheint wechselt man die Programmiersprache und die Entwicklungsumgebung. Spitzentipp.
W.S. schrieb: > Und dir sollte auch mal klar werden, Dann werd du dir darüber klar, dass es meine Sache ist, wie ich vorgehe. In diesem Thread geht es darum, Allegro mit Codeblocks zum laufen zu kriegen. Nun überlege dir, wie groß die Deckungsgleichheit zwischen "Allegro + CodeBlocks" und "mach doch make" ist. Wenn du dann zu dem Schluss kommst, es gibt keine, kannst du dann ja aufhören Tipps in diese Richtung zu geben. Sie sind in diesem Thread unerwünscht. Sollte in ein paar Wochen meine Geduld ausgereizt sein, dann werde ich es mir evtl noch einmal anders überlegen und dann evtl nen Thread a la "wie geht make aufmachen". Da wird deine Expertise dann gefragt und erwünscht sein. Johannes S. schrieb: > Klar, sobald eine Fehlermeldung erscheint wechselt man die > Programmiersprache und die Entwicklungsumgebung. Spitzentipp. Mein Reden.
J. T. schrieb: > W.S. schrieb: >> Und dir sollte auch mal klar werden, > > Dann werd du dir darüber klar, dass es meine Sache ist, wie ich vorgehe. Keiner will dir vorschreiben, wie du es machst, aber man wird dir doch wohl Tipps geben dürfen. Natürlich steht dir auch frei, die zu ignorieren. Aber du wolltest auch wissen, warum "das immer so ein Krampf" ist. Der Grund ist, weil durch die IDE der Compiliervorgang für dich mehr oder weniger eine Black Box ist. > Wenn du dann zu dem Schluss kommst, es gibt keine, kannst du dann ja > aufhören Tipps in diese Richtung zu geben. Sie sind in diesem Thread > unerwünscht. Du wünschst dir die nicht. Du hast zwar den Thread gestartet, aber das heißt nicht, dass du die volle Hoheit darüber hast zu bestimmen, was andere hier schreiben. J. T. schrieb: > Johannes S. schrieb: >> Klar, sobald eine Fehlermeldung erscheint wechselt man die >> Programmiersprache und die Entwicklungsumgebung. Spitzentipp. > > Mein Reden. Aber das ist doch genau das, was du getan hast. Es ging in Code:Blocks nicht, also hast du halt Dev-C++ genommen. Damit kommst du nicht klar, also doch wieder zurück. W.S. schrieb: > J. T. schrieb: >> Dann sollte auch dir klar werden, das ... > > Es heißt "daß" oder für Schweizer "dass". Auch für Deutsche heißt es schon seit über 20 Jahren "dass".
Rolf M. schrieb: > Keiner will dir vorschreiben, wie du es machst, aber man wird dir doch > wohl Tipps geben dürfen. Wird man sicher, Rolf M. schrieb: > Aber du wolltest auch wissen, warum "das immer so ein Krampf" ist. Der > Grund ist, weil durch die IDE der Compiliervorgang für dich mehr oder > weniger eine Black Box ist. aber hauptsächlich möchte ich einfach wissen, wie man die BlackBox dazu bringt, zu laufen. Dazu kann halt jemand, der Compilieren per Console bevorzugt und von CodeBlocks soviel Schimmer hat, wie ich vom anderen, nicht viel beitragen. Rolf M. schrieb: > Du wünschst dir die nicht. Du hast zwar den Thread gestartet, aber das > heißt nicht, dass du die volle Hoheit darüber hast zu bestimmen, was > andere hier schreiben. Selbstverständlich kann ich niemandem vorschreiben, was er wann, wie, wo und warum schreibt. Aber in einem Thread den ich starte, werde ich wohl meine Wünsche äussern dürfen, und in der REM-Phase davon träumen, dass diese Wünsche sogar respektiert werden? Rolf M. schrieb: > Aber das ist doch genau das, was du getan hast. Es ging in Code:Blocks > nicht, also hast du halt Dev-C++ genommen. Damit kommst du nicht klar, > also doch wieder zurück. Und da sich dieses Vorgehen als nicht zielführend herausgestellt hat, kann ich aus tiefster Seele bestätigen, dass es sich hierbei um einen "Spitzentipp" handelt ;-) Rolf M. schrieb: > W.S. schrieb: >> J. T. schrieb: >>> Dann sollte auch dir klar werden, das ... >> >> Es heißt "daß" oder für Schweizer "dass". > > Auch für Deutsche heißt es schon seit über 20 Jahren "dass". Wer mit Rechtschreibfehlern als "Argumenten" um sich wirft, ist doch eh keines Kommentares würdig.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.