SDL2> PNG IMAGE> не удалось загрузить изображение - PullRequest
0 голосов
/ 14 июля 2020

СИТУАЦИЯ

Я хочу загрузить и использовать свое изображение (то есть .png) в своем приложении. Однако, когда я пытаюсь загрузить изображение, я получаю следующую ошибку:

Ошибка в ./sources/texture.c:9: «Текстура NULL»

> Не удалось 't open pawn.png

CODE

текстура. 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;
}

игра. 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
    ...

БОНУС

если вы хотите увидеть весь "образ" моего проекта, тогда Вы можете нажать здесь

1 Ответ

1 голос
/ 14 июля 2020

Возможно, это глупая гипотеза, но уверены ли вы, что файл находится в текущем каталоге приложения?

В системе POSIX вы можете проверить его с помощью:

if (access("pawn.png", F_OK) == 0) {
    printf("File exists\n");
} else {
    printf("File doesn't exist\n");
}

Если он печатает File doesn't exist, тогда нужно указать полный путь к файлу.

...