Forum » Programiranje » c++ SDL problem
c++ SDL problem
kretze ::
Zdravo folk...mam en problem in sicer ko hočem zagnat program mi se pojavi ta error:failed loading libpng16-16.dl... uporabljam win10 okolje pa je visual studio 2015.. vse dll include in libary datoteke imam na svojem mestu tudi dll sliko imam tam ko imam main.cpp file....torej mogoče kvo ve kako rešit ta problem??
aja koda ni moja je iz lazyfoo foruma
aja koda ni moja je iz lazyfoo foruma
#include <SDL.h>
#include <SDL_image.h>
#include <stdio.h>
#include <string>
//Screen dimension constants
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
//Starts up SDL and creates window
bool init();
//Loads media
bool loadMedia();
//Frees media and shuts down SDL
void close();
//Loads individual image as texture
SDL_Texture* loadTexture(std::string path);
//The window we'll be rendering to
SDL_Window* gWindow = NULL;
//The window renderer
SDL_Renderer* gRenderer = NULL;
//Current displayed texture
SDL_Texture* gTexture = NULL;
bool init()
{
//Initialization flag
bool success = true;
//Initialize SDL
if (SDL_Init(SDL_INIT_VIDEO) < 0)
{
printf("SDL could not initialize! SDL Error: %s\n", SDL_GetError());
success = false;
}
else
{
//Set texture filtering to linear
if (!SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "1"))
{
printf("Warning: Linear texture filtering not enabled!");
}
//Create window
gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
if (gWindow == NULL)
{
printf("Window could not be created! SDL Error: %s\n", SDL_GetError());
success = false;
}
else
{
//Create renderer for window
gRenderer = SDL_CreateRenderer(gWindow, -1, SDL_RENDERER_ACCELERATED);
if (gRenderer == NULL)
{
printf("Renderer could not be created! SDL Error: %s\n", SDL_GetError());
success = false;
}
else
{
//Initialize renderer color
SDL_SetRenderDrawColor(gRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
//Initialize PNG loading
int imgFlags = IMG_INIT_PNG;
if (!(IMG_Init(imgFlags) & imgFlags))
{
printf("SDL_image could not initialize! SDL_image Error: %s\n", IMG_GetError());
success = false;
}
}
}
}
return success;
}
bool loadMedia()
{
//Loading success flag
bool success = true;
//Load PNG texture
gTexture = loadTexture("loaded.png");
if (gTexture == NULL)
{
printf("Failed to load texture image!\n");
success = false;
}
return success;
}
void close()
{
//Free loaded image
SDL_DestroyTexture(gTexture);
gTexture = NULL;
//Destroy window
SDL_DestroyRenderer(gRenderer);
SDL_DestroyWindow(gWindow);
gWindow = NULL;
gRenderer = NULL;
//Quit SDL subsystems
IMG_Quit();
SDL_Quit();
}
SDL_Texture* loadTexture(std::string path)
{
//The final texture
SDL_Texture* newTexture = NULL;
//Load image at specified path
SDL_Surface* loadedSurface = IMG_Load(path.c_str());
if (loadedSurface == NULL)
{
printf("Unable to load image %s! SDL_image Error: %s\n", path.c_str(), IMG_GetError());
}
else
{
//Create texture from surface pixels
newTexture = SDL_CreateTextureFromSurface(gRenderer, loadedSurface);
if (newTexture == NULL)
{
printf("Unable to create texture from %s! SDL Error: %s\n", path.c_str(), SDL_GetError());
}
//Get rid of old loaded surface
SDL_FreeSurface(loadedSurface);
}
return newTexture;
}
int main(int argc, char* args[])
{
//Start up SDL and create window
if (!init())
{
printf("Failed to initialize!\n");
}
else
{
//Load media
if (!loadMedia())
{
printf("Failed to load media!\n");
}
else
{
//Main loop flag
bool quit = false;
//Event handler
SDL_Event e;
//While application is running
while (!quit)
{
//Handle events on queue
while (SDL_PollEvent(&e) != 0)
{
//User requests quit
if (e.type == SDL_QUIT)
{
quit = true;
}
}
//Clear screen
SDL_RenderClear(gRenderer);
//Render texture to screen
SDL_RenderCopy(gRenderer, gTexture, NULL, NULL);
//Update screen
SDL_RenderPresent(gRenderer);
}
}
}
//Free resources and close SDL
close();
return 0;
}

rozman ::
S sdl nisem delal, sem imel pa podoben problem s sfml, probaj na taksen način kot je na spodnji strani, vkljucit lib
https://www.sfml-dev.org/tutorials/2.5/...
Oz tole za sdl:
https://stackoverflow.com/questions/577...
https://www.sfml-dev.org/tutorials/2.5/...
Oz tole za sdl:
https://stackoverflow.com/questions/577...
Randomness ::
Saj ti piše. Manjka ti libpng16-16.dll ali pa je nimaš na pravem mestu. Biti mora v istem direktoriju, kjer je exe datoteka in ne tam, kjer imaš cpp datoteko.
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | Wolfeinstain ET - LINUX !Oddelek: Igre | 2263 (1816) | WamPIRe- |
| » | [C++] linux aplikacija kaj uporabitiOddelek: Programiranje | 1436 (1210) | tyk |
| » | win api (c++)Oddelek: Programiranje | 2684 (1964) | Gundolf |
| » | [c++] & Win32 API?Oddelek: Programiranje | 1946 (1751) | 64202 |
| » | Mplayer in problem z zvokomOddelek: Operacijski sistemi | 933 (892) | 2g00d4u |