openAL Beispielcode -> Linker Error!



  • Servus,

    ich versuche gerade openAL zum laufen zu bringen. Ich habe mir folgende Beispielcodes reingezogen:
    #1 http://www.devmaster.net/articles/openal-tutorials/lesson1.php
    und
    #2 http://www.edenwaith.com/products/pige/tutorials/openal.php

    bekomme aber beide nicht zum laufen.

    Das ist meine Ausgabe beim make'n von lesson 1 #1:

    g++ -c main.cpp -Wno-deprecated
    main.cpp: In function ‘ALboolean LoadALData()’:
    main.cpp:73: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)
    main.cpp:73: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)
    main.cpp:75: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)
    main.cpp:75: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)
    g++ -o lesson1 main.o -lopenal
    main.o: In function `KillALData()':
    main.cpp:(.text+0x2f): undefined reference to `alutExit'
    main.o: In function `LoadALData()':
    main.cpp:(.text+0xd8): undefined reference to `alutLoadWAVFile'
    main.cpp:(.text+0x122): undefined reference to `alutUnloadWAV'
    main.o: In function `main':
    main.cpp:(.text+0x295): undefined reference to `alutInit'
    collect2: ld returned 1 exit status
    make: *** [lesson1] Fehler 1
    

    bzw folgende beim zweiten Beispielcode:

    [code]
    gcc openal.cpp -o openal -lopenal -lglut
    openal.cpp: In function ‘void init()’:                        
    openal.cpp:116: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)            
    openal.cpp:116: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)            
    openal.cpp:118: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)                                     
    openal.cpp:118: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)                                     
    openal.cpp:121: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)
    openal.cpp:121: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)
    openal.cpp:123: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)
    openal.cpp:123: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)
    openal.cpp:126: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)
    openal.cpp:126: warning: ‘void alutLoadWAVFile(ALbyte*, ALenum*, void**, ALsizei*, ALsizei*, ALboolean*)’ is deprecated (declared at /usr/include/AL/alut.h:113)
    openal.cpp:128: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)
    openal.cpp:128: warning: ‘void alutUnloadWAV(ALenum, ALvoid*, ALsizei, ALsizei)’ is deprecated (declared at /usr/include/AL/alut.h:116)
    /tmp/ccYTLokR.o: In function `keyboard(unsigned char, int, int)':
    openal.cpp:(.text+0x2e1): undefined reference to `alutExit'
    /tmp/ccYTLokR.o: In function `init()':
    openal.cpp:(.text+0x55d): undefined reference to `alutInit'
    openal.cpp:(.text+0x619): undefined reference to `alutLoadWAVFile'
    openal.cpp:(.text+0x679): undefined reference to `alutUnloadWAV'
    openal.cpp:(.text+0x6ae): undefined reference to `alutLoadWAVFile'
    openal.cpp:(.text+0x70e): undefined reference to `alutUnloadWAV'
    openal.cpp:(.text+0x743): undefined reference to `alutLoadWAVFile'
    openal.cpp:(.text+0x7a3): undefined reference to `alutUnloadWAV'
    /tmp/ccYTLokR.o: In function `main':
    openal.cpp:(.text+0xa63): undefined reference to `alutInit'
    collect2: ld returned 1 exit status
    

    Was sagt mir das? Will der statisch linken? Ich hab aber keine openal.a sondern nur eine openal.so also muss das ganze wohl dynamisch gehen, oder??

    Und was ist überhaupt mit diesen ganzen deprecated warnings? Wie lauten denn die entsprechenden "neuen" Funktionen dafür jetzt?
    Hilfe, Wer kennt sich aus?



  • vergessts, ich hatte

    -lalut

    vergessen.


Anmelden zum Antworten