Allegro und DEV-C++ [linker error, was nun?]

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Allegro und DEV-C++ [linker error, was nun?]

    ich habe DEV-C++ Version 4.9.8.0 installiert

    dann habe ich mir das devpak:
    Allegro Library version: 4.2.0 Devpak version: 1mol

    von http://www.devpaks.org/ intigriert

    wen ich jetzt versuche mit allegro zu arbeiten
    (BSP:
    #include <allegro.h>

    int main(int argc, char *argv[]){
    allegro_init();
    allegro_message("hallo");
    } END_OF_MAIN()
    )

    und das ganze compilieren will kommt folgender fehler:
    [Linker error] undeference to`allegro_Message'
    [Linker error] undeference to`_WinMain'
    [Linker error] undeference to`_get_allegro_version'
    [Linker error] undeference to`get_config_text'
    [Linker error] undeference to`_imp__allegro_error'
    [Linker error] undeference to`ustrzcpy'
    [Linker error] undeference to`_install_allegro'
    C:\projekt1\Makefile.win [Build Error] [Projekt1.exe] Error 1


    wie kann ich das problem beheben?
    währe schön wenn mir jemand helfen kann.
  • Das ist lustig,genau das problem hatte ich bis vor ner Woche auch,du nutzt ne IDE richtig?

    Da ist folgendes Problem,das PC´s ja bekanntlich strohdumm sind weiß die IDE natürlich nicht das du die Allegrolibary einbinden wilst,zwar hast du den includebefehl aber du musst dem Linker sagen das du die allegro-libary nutzen willst.

    Das machst du unter Projekt->Einstellungen

    Allerdings hab ich selbst noch nie kapiert wie das funktioniert.Ich kenn zwar die Aufrufparameter die sind entweder -lalleg für den linker oder
    -dalleg für den Debugger

    Ich hab nach ner weile aufgegeben weil meine IDE das nich schlcuken wollte(hab Visual C++ Autorenedition 6.0) desshalb nutze ich einen gcc-complier,da ist zwar das einrichten sehr schwer(hab stunden gebarucht bis ich das ding richtig konfiguerit hab,kann aber daran gelegen haben das ich doof bin >.>) aber da funktioniert das problemlos,zumal du den complier frei nutzen kannst.Bei der IDE muss man ja extra die
    Lizenzen kaufen,oder eben das Programm(mit der Autoredition kannst du keine erstellten .exe Dateinen publizieren was ich sehr ärgerlich fand).

    Wie gesagt da müsstest du die Linkereinstellungen überprüfen.
    am ende der erstellung der .exe datei musste ein -lalleg anfügen.

    Mich wundert das sich gerade auf solche Fragen keiner meldet,weil gerade die besonders ärgerlich sind.

    Wenn du mal das Buch "Spieleprogrammierung" von Lennart Steinke gelesen hast weißt du auch alles was du zum gcc compiler wissen musst,da steht übrigens auch wie man ne IDE einrichtet aber leider steht dort nur das man dies unter Projekts->Einstellungen machen kann aber nicht wo genau....oO

    EDIT:Sorry kleiner Fehler: das mit der IDe steht nicht in dem Buch,das steht im allegroverzeichniss unter: allegro\docs\build\mingw32.txt.



    MfG Ska
    "A Programmer is just a tool which converts cofein into code!"
    (anonymer Verfasser)
    [Blockierte Grafik: http://www.beepworld.de/memberdateien/members98/skabus/sigc.jpg]
  • Hey danke,
    habe es hinbekommen.

    bei mir war es etwas anders. was daran liegen kann das ich eine andere DEV Version habe.

    und zwar musste ich bei

    Projekt --> Projekt Optionen --> und dann den Seitenreiter "Parameter"
    dort konnte ich ganz rechts bei "linker" die Datei "C:/.../Dev-Cpp/lib/liballeg.a" eintragen (die ich bei der Allegroinstallation dort hinkopiert hatte. (stand so in der Anleitung.))

    dann ging das Beispiel Programm ohne Probleme :) freu

    jetzt kann ich das buch "Spieleprogrammierung" von Lennart Steinke (welches ich mir aus der hier ansässigen Bibliothek ausgeliehen habe) weiterleben.

    (Bemerkung: ich bin der Meinung das man hier am besten punkt 7 bis 9 (Seite 128 bis 192) überspringt. Die haben mich irritiert und verstanden habe ich sie als Anfänger auch nur halb (vielleicht bin ich zu dumm dafür))

    Danke noch mal für die Hilfe.