所以我理解通常在文件未正确链接时会发生此错误。问题是我从单个文件中获取此信息,其中正在声明事物(没有与该函数相关的外部文件,这都在一个文件中):
例如:
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);
为什么会出现声明?
编辑:抱歉错误:
对'ImgLoader'的未定义引用
P.S。我知道这与SDL有关,但我认为这更像是与C相关的查询,而不是特定于游戏。