したがって、通常、このエラーはファイルが適切にリンクされていない場合に発生することを理解しています。問題は、物事が宣言されている単一のファイルからこれを取得していることです(関数に関連する外部ファイルはなく、これはすべて1つのファイルにあります):
例えば:
inline SDL_Surface *ImgLoader(char *file,bool bCKey, int r , int g , int b , int alpha)
{
SDL_Surface *pic;
pic = IMG_Load(file); // From SDL_image.h , load the image to pic
if(pic==NULL) fprintf(stderr,"Missing image %s : %s\n",file,IMG_GetError());
if( bCKey ) {
SDL_SetColorKey(pic,SDL_SRCCOLORKEY|SDL_RLEACCEL,SDL_MapRGB(pic->format,r,g,b));
}
if(alpha) SDL_SetAlpha(pic, SDL_SRCALPHA|SDL_RLEACCEL , 255 - alpha);
pic = SDL_DisplayFormat(pic);
return (pic);
}
その使用法:
anim[0] = ImgLoader("./anim/justice1.gif",1,255,255,255,230);
there の宣言がある場合、なぜこれが発生するのですか?
編集:申し訳ありませんがエラー:
ImgLoader への未定義の参照
PSこれがSDLに関連していることは知っていますが、これは特にゲームよりもC関連のクエリだと思います。