首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载.bmp SDL2 IMG_LoadTexture

无法加载.bmp SDL2 IMG_LoadTexture
EN

Stack Overflow用户
提问于 2016-05-17 15:09:38
回答 1查看 1.4K关注 0票数 0

因此,我遵循教程,一切都很顺利,直到我遇到了一个问题,即我无法加载一个.bmp。

代码语言:javascript
复制
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <stdio.h>
#include <iostream>
#include <SDL2/SDL_main.h>

using namespace std;



int main(int argc, char* argv[]) {

bool quit = false;

SDL_Init(SDL_INIT_VIDEO);

SDL_Window* window;

window = SDL_CreateWindow("window", 100, 100, 1280, 720, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);

if(window == NULL){

    cout << "Disn't work, here is why: " << SDL_GetError()<< endl;
    return 0;
}


SDL_Renderer* renderer = NULL;

renderer= SDL_CreateRenderer(window, -1 ,SDL_RENDERER_ACCELERATED);

SDL_Event* mainEvent = new SDL_Event();

SDL_Texture* grass_image = NULL;
grass_image = IMG_LoadTexture(renderer, "grass.bmp");

SDL_Rect grass_rect;
grass_rect.x = 10;
grass_rect.y = 50;
grass_rect.w = 250;
grass_rect.h = 250;

while(!quit && mainEvent->type != SDL_QUIT){
    SDL_PollEvent(mainEvent);
    SDL_RenderClear(renderer);

    SDL_RenderCopy(renderer, grass_image, NULL, &grass_rect);

    SDL_RenderPresent(renderer);

}

SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
delete mainEvent;

return 0;
}

当我试图编译代码(在代码::块中)时,它会给出以下错误

对"IMG_LoadTexture“的未定义引用

嗯,我试图将IMG_LoadTexture(renderer, "grass.bmp");更改为IMG_LoadTexture(renderer, "/the/full/path/of/grass.bmp");,但这也不起作用。同样的错误。我是不是写错了什么,或者遗漏了什么部分?另外,grass.bmp与main.cpp位于同一个文件夹中(上面的代码)。

EN

回答 1

Stack Overflow用户

发布于 2016-05-17 15:43:18

这里的错误说明您已经声明了一个函数,但是还没有定义它- 未定义引用

这很可能是因为您忘记了链接到函数图像所属的库IMG_LoadTexture

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37279969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档