In OpenGL Texturen laden



  • Ich weiss, ist nicht das richtige Forum für sowas, aber mann kann als Gast ja nicht ins Grafikprogrammierforum reinschreiben...

    Also: Ich habe aus den NeHe-Tuts nen Code zum Grafiken laden kopiert. Nur leider funktioniert er nicht. JEdesmal kommt die Fehlermeldung: [Linker Error] Unresolved external 'auxDIBImageLoadA' referenced from C:\C++\TEST1\UNIT1.OBJ

    Vileicht nützt es etwas wenn ich noch hinzufüge dass ich den Borland C++ Builder benutze.

    AUX_RGBImageRec *LoadBMP(char *Filename)
    {
    FILE *File=NULL;
    if (!Filename) {
            return NULL;
    }
    File=fopen(Filename,"r");
    if (File) {
            fclose(File);
            return auxDIBImageLoad(Filename);
    }
    return NULL;
    }
    //---------------------------------------------------------------------------
    int LoadGLTextures() 
    {
    AUX_RGBImageRec *TextureImage[1];
    memset(TextureImage,0,sizeof(void *)*1);
    
    if (TextureImage[0]=LoadBMP("Data/image1.bmp")) {
            glGenTextures(1, &texture[0]);
            glBindTexture(GL_TEXTURE_2D, texture[0]);
            glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
            glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
            glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    }else{
            return false;
    }
    
    if (TextureImage[0]) {
            if (TextureImage[0]->data) {
                    free(TextureImage[0]->data);
            }
            free(TextureImage[0]);
    }
    return true;
    }
    

    Kann mir da jemand weiterhelfen?

    MfG



  • Du solltest deinem Linker die richtge .LIB Datei mitgeben, damit er deine OpenGL-Funktionen wiederfindet 😉 (welche das ist, sollte in der Doku der Funktion "ausDIBImageLoad()" stehen)



  • Lad dir bei NeHe die Borland C++ Builder Version des Beispiels herunter. Das ist die glaux.lib (wenn ich mich nicht irre) für den C++ Builder dabei. Die brauchst du für die oben genannte Funktion.



  • Ok, blöde Frage: Wie krieg ich die Lib-datei rein? :S Hab bis jetzt nicht viel min libs zu tun gehabt.



  • am anfang schreiben
    #pragma comment(lib, "libname.lib") //libname.lib muss im /lib dir deines compiler sein oder im aktuellen ordner
    oder in den porject optiobn unter linker einstellen !

    MfgShade37337



  • Ok, vielen dank, jetzt funktionierts 🙂


Anmelden zum Antworten