PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei SDL_image?



Avirell
12-08-2003, 06:43
Tach

Bei diesem Programm:

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
using namespace std;

#include <SDL.h>
#include <SDL_image.h>

SDL_Surface *screen;
SDL_Surface *image;

int main(int argc, char *argv[])
{
if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) < 0)
{
cout << "SDL konnte nicht initialisiert werden: " << SDL_GetError() << endl;
return 1;
}

atexit(SDL_Quit);

screen = SDL_SetVideoMode(640,480,32,SDL_HWSURFACE|SDL_DOUB LEBUF);

if (screen == NULL)
{
cout << "Fenster mit 640x480 konnte nicht initialisiert werden: " << SDL_GetError() << endl;
return 1;
}

image = IMG_Load("img/bild.gif");

if (image == NULL)
{
cout << "Bild konnte nicht geladen werden: " << SDL_GetError() << endl;
return 1;
}

SDL_BlitSurface(image,NULL,screen,NULL);

SDL_FreeSurface(image);
SDL_FreeSurface(screen);
return 0;
}
(ich habs erstmals ohne Tutorial versuche wenigstens sowas zu proggen...)

kommt beim kompillieren mit dem Befehl:

g++ sdl2.cpp -o sdl2 -I/usr/include/SDL -D_REENTRANT -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lSDL_image

Immer der Fehler:

sdl2.cpp: In function `int main(int, char**)':
sdl2.cpp:39: warning: statement is a reference, not call, to function `
SDL_FreeSurface(SDL_Surface*)'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x1dc): In function `jpeg_SDL_RW_src':
: undefined reference to `jpeg_resync_to_restart'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x278): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_std_error'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x2be): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_CreateDecompress'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x2dd): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_read_header'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x2f8): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_calc_output_dimensions'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x35c): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_start_decompress'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x378): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_finish_decompress'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x386): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_destroy_decompress'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x3da): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_read_scanlines'
/usr/lib/libSDL_image.a(IMG_jpg.o)(.text+0x40b): In function `IMG_LoadJPG_RW':
: undefined reference to `jpeg_destroy_decompress'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x4a): In function `IMG_isPNG':
: undefined reference to `png_sig_cmp'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x6d): In function `png_read_data':
: undefined reference to `png_get_io_ptr'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0xe7): In function `IMG_LoadPNG_RW':
: undefined reference to `png_create_read_struct'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0xfa): In function `IMG_LoadPNG_RW':
: undefined reference to `png_create_info_struct'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x132): In function `IMG_LoadPNG_RW':
: undefined reference to `png_set_read_fn'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x144): In function `IMG_LoadPNG_RW':
: undefined reference to `png_read_info'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x189): In function `IMG_LoadPNG_RW':
: undefined reference to `png_get_IHDR'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x194): In function `IMG_LoadPNG_RW':
: undefined reference to `png_set_strip_16'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x19f): In function `IMG_LoadPNG_RW':
: undefined reference to `png_set_packing'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x1b1): In function `IMG_LoadPNG_RW':
: undefined reference to `png_set_expand'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x1cb): In function `IMG_LoadPNG_RW':
: undefined reference to `png_get_valid'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x1f3): In function `IMG_LoadPNG_RW':
: undefined reference to `png_read_update_info'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x238): In function `IMG_LoadPNG_RW':
: undefined reference to `png_get_IHDR'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x34d): In function `IMG_LoadPNG_RW':
: undefined reference to `png_read_image'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x35f): In function `IMG_LoadPNG_RW':
: undefined reference to `png_read_end'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x3da): In function `IMG_LoadPNG_RW':
: undefined reference to `png_destroy_read_struct'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x43b): In function `IMG_LoadPNG_RW':
: undefined reference to `png_get_tRNS'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x4db): In function `IMG_LoadPNG_RW':
: undefined reference to `png_set_gray_to_rgb'
/usr/lib/libSDL_image.a(IMG_png.o)(.text+0x547): In function `IMG_LoadPNG_RW':
: undefined reference to `png_set_expand'
collect2: ld returned 1 exit status

anda_skoa
12-08-2003, 20:07
Eventuell muss du noch gegen eine Lib linken, die von SDL_Image benötigt wird.

libpng und/oder libjpeg zum Beispiel.

Ciao,
_

Woolf
14-08-2003, 18:31
merk dir "undefined reference"
das heißt IMMER dass eine lib fehlt ,)
oder n .o
GreeZ
LOneWoolF