情况
我想在我的应用程序中加载并使用我的图像(.png)。但是,当我尝试加载图像时,出现以下错误
./ sources / texture.c:9时出错:“纹理为NULL”
>无法打开pawn.png
代码
texture.c
texture_t*
texture_load(renderer_t *renderer, const char *path) {
texture_t *tex = IMG_LoadTexture(renderer, path);
if (tex == NULL)
error_print(AT, "The texture is NULL");
return tex;
}
game.c
game_t*
game_create() {
...
IMG_Init(IMG_INIT_PNG);
...
texture_load(renderer, "pawn.png")
...
}
文件夹结构
.
├── build
│ ├── app
│ └── pawn.png
├── headers
│ ...
│ ├── game.h
| ...
│ ├── texture.h
│ ...
├── resources
│ └── pawn.png
└── sources
...
├── game.c
...
├── texture.c
...
奖励
如果您想查看项目的整个“图像”,则可以单击here
答案 0 :(得分:1)
也许这是一个愚蠢的假设,但是您确定文件位于当前应用程序目录中吗?
在POSIX系统上,您可以使用以下命令进行检查:
if (access("pawn.png", F_OK) == 0) {
printf("File exists\n");
} else {
printf("File doesn't exist\n");
}
如果打印出File doesn't exist
,则需要指定文件的完整路径。