unerklärlicher linker error



  • Hallo allerseits,

    Ich versuche mithilfe eines youtube videos sowie der
    Tutorial Seite von Lazy-Foo, SDL in DEV C++ einzubinden...

    dazu muss man folgendes machen:

    -> SDL runterladen 😛 ...

    -> SDL.dll aus SDL/BIN ins Projekt-Verzeichniss reinkopieren...

    -> Tools/Compiler_Option/directory/ INCLUDE und Lib Ordner einbinden

    -> Leeres Project erstellen;

    dann unter Project/Project_Option/Linker folgendes eingeben:

    -Imingw32 -ISDLmain -ISDL

    -> und bei TYPE: win32GUI anklicken damit die konsole nicht ständigt aufgeht

    -> Projekt-mappe anklicken und dann halt datei hinzufügen oder neu erstellen ...

    __________________________________________

    so... alles gemacht und getan und die probe ausgeführt ... und jetzt ???

    LINKER ERROR ! 😞

    [Linker error] main_sdl.o:main_sdl.cpp:(.text+0x15): undefined reference to `SDL_Init'
    
    [Linker error] main_sdl.o:main_sdl.cpp:(.text+0x1a): undefined reference to `SDL_Quit'
    
    bad reloc address 0x0 in section `.pdata'
    
    C:\Users\Rechner\Desktop\sdl_sample\collect2.exe	[Error] ld returned 1 exit status
    
    C:\Users\Rechner\Desktop\sdl_sample\Makefile.win	[Error] [example.exe] Error 1
    

    wenn ich die einrichtungs linker aus der lazyfoo seite nehme via copy/paste (welche genau die gleichen linker sind wie im youtube video !!!!)

    -lmingw32 -lSDLmain -lSDL

    dann kommen nochmehr fehlermeldungen !!!

    dann kommt:

    skipping incompatible C:/SDL-1.2.15/lib/libSDLmain.a when searching for -lSDLmain
    			skipping incompatible C:/SDL-1.2.15/lib\libSDLmain.a when searching for -lSDLmain
    			skipping incompatible C:/SDL-1.2.15/lib/libSDLmain.a when searching for -lSDLmain
    			cannot find -lSDLmain
    			skipping incompatible C:/SDL-1.2.15/lib/libSDL.dll.a when searching for -lSDL
    			skipping incompatible C:/SDL-1.2.15/lib/libSDL.dll.a when searching for -lSDL
    			cannot find -lSDL
    		C:\Users\Rechner\Desktop\sdl_sample\collect2.exe	[Error] ld returned 1 exit status
    		C:\Users\Rechner\Desktop\sdl_sample\Makefile.win	[Error] [example.exe] Error 1
    

    warum und was ist schon wieder nicht richtig ??? 😡 :p

    hier die lazyfoo seite:
    http://lazyfoo.net/SDL_tutorials/lesson01/windows/devcpp/index.php

    hier das tutorial video:
    http://www.youtube.com/watch?v=ALMLZiqFNKk



  • SDL_begin schrieb:

    was ist schon wieder nicht richtig ???

    Video-Tutorials und Dev-C++.



  • so ich hab das ganze jetzt nochmal genamcht , aber den SDL ordner auf Desktop
    gepackt ... jetzt kommt nur noch:

    cannot find -lSDLmain
    cannot find -lSDL
    
    C:\Users\Rechner\Desktop\sdl_sample\collect2.exe	[Error] ld returned 1 exit status
    
    C:\Users\Rechner\Desktop\sdl_sample\Makefile.win	[Error] [example.exe] Error 1
    

    🤡
    bis auf die Tatsache, dass ich halt DevC++ und VideoTutorials benutz habe, mache ich doch eigendlich alles richtig -> ich halte mich nur an das was gezeigt wirt

    und trotzdem funktioniert es nicht 😞

    geht das denn bei euch ???



  • SDL_begin schrieb:

    jetzt kommt nur noch:

    Ja, wenn der Linker die Libs gar nicht mehr findet, kann er nicht mehr melden, dass sie inkompatibel sind.

    Wahrscheinlich versuchst du, ein 32-Bit-Programm gegen 64-Bit-Libs zu linken oder umgekehrt.



  • wie verändere ich das denn ?

    auf der lazyfoo seite steht was über die DLL:

    bei 32 bit nach: -> windows/system32
    bei 64 bit nach: -> windwos/sysWOW64

    hab ich auch schon alles ausprobiert ... tuts nicht



  • und sich dann nicht mehr melden -.-

    weis wer wie man das ändert ?

    ich hab schon alles versucht, was mir einfiel:

    -> kompatibilitätsmodus aus win 7 oder tierfer runtergerraubt

    -> Compiler auf 32 bit runtergestufft

    -> SDL.dll mit der auf der webseite von SDL erstetzt

    -> runtime libraries - SDL-1.2.15-win32-x64.zip (64-bit Windows))

    -> dll's überall reingepackt

    -> alles nochmal neu installiert

    -> hab SOGAR über DEV C++ via updates SDL installiert, so das man nur noch bei
    new project auf das SDL - icon drücken muss ...

    nichts, gleiche fehrlermeldungen mit den linker !

    ...
    scheint echt hype zusein, wie gezeigt wird, wie man 32 bit programme ausgeführt und erstellt aber nicht bedenkt dass die technologie mittlerweile bei 64 bit angekommen ist

    kenne mehrere solche sachen , wo einfach die linker nach jahren nicht mehr funktionieren ...

    war bei SFML zuletzt (vor etlichen jahren) auch so
    -> habs aber auch dannach nie wieder angepackt

    und bei Allegro auch



  • So ich habs jetzt über Code::Blocks am rennen 😉

    ...tuts 😉


Anmelden zum Antworten