поэтому я следовал this учебному пособию, и все шло все гладко и денди, пока я не столкнулся с проблемой, а именно, что я не смог загрузить .bmp.Невозможно загрузить .bmp SDL2 IMG_LoadTexture
#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;
}
Когда я пытаюсь скомпилировать код (в Code :: Blocks) он дает мне ошибку
Неопределенная ссылка на "IMG_LoadTexture"
Ну, я пытался измените IMG_LoadTexture(renderer, "grass.bmp");
на IMG_LoadTexture(renderer, "/the/full/path/of/grass.bmp");
, но это тоже не сработало. Такая же ошибка. Я написал что-то неправильно или пропустил какую-то часть? Кроме того, grass.bmp находится в той же папке, что и main.cpp (код выше).
Возможный дубликат [Что такое неопределенная ссылка/неразрешенная ошибка внешнего символа и как ее исправить?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved- external-symbol-error-and-how-do-i-fix) – genpfault