Noniin, jos joku osaisi auttaa. Olen opetellut tässä SDL:n käyttöä noiden oppaiden avulla, mutta kun koitan käyttää sdl_mixeriä niin juttu iskee virhettä. Tämä tapahtuu siis kun olen buildannut ohjelman, ja yritän avata sitä.
Tässä koodi:
#include <SDL/SDL.h>
#include <SDL/SDL_mixer.h>
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDL_mixer.lib")
void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y);
int main(int argc, char *argv[])
{
	if( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 ) {
		fprintf(stderr, "SDL:n alustus ei onnistunut: %s", SDL_GetError());
		return 0;
	}
	if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1) {
		fprintf(stderr, "SDL_Mixerin alustus ei onnistunut.");
	}
	Mix_Chunk *aani;
		aani=Mix_LoadWAV_RW(SDL_RWFromFile("vasen.wav", "rb"), 0);
	if(Mix_PlayChannel(0, aani, 1)==-1)
        fprintf(stderr, "Virhe : %s ", Mix_GetError());   // virhe
	// Ikkunan nimi
    SDL_WM_SetCaption("Testipeli", NULL);
	SDL_Surface * naytto;	// Pelin pohja
	SDL_Surface * kuva;		// Tontsa kuva
	SDL_Surface * tausta;
	naytto = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF);	// Alustetaan ruutu
	kuva = SDL_LoadBMP("loota.bmp");		// Ladataan kuva
	tausta = SDL_LoadBMP("tausta.bmp");
	Uint8* nappi;                    // näppäimet
    SDL_Event tapahtuma;             // tapahtumat
	int napit, x, y;	// Muuttujat
	int lootax=470;
	int lootay=690;
	bool pois=false;
	while (pois == false)
	{
		SDL_PollEvent(&tapahtuma);
            if ( tapahtuma.type == SDL_KEYDOWN )  {
				if ( tapahtuma.key.keysym.sym == SDLK_ESCAPE ) { pois = true; }
            }
        nappi = SDL_GetKeyState(NULL);
        if ( nappi[SDLK_LEFT] ) { lootax -= 4; }
        if ( nappi[SDLK_RIGHT] ) { lootax += 4; }
		PiirraKuva(tausta, naytto, 0, 0);
		PiirraKuva(kuva, naytto, lootax, lootay);
		SDL_Flip(naytto);
	}
	Mix_FreeChunk(aani);
	aani = NULL;
	SDL_FreeSurface(kuva);
	SDL_Quit();
	return 0;
}
void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int x, int y)
{
	SDL_Rect alue;
	alue.x = x;
	alue.y = y;
	SDL_BlitSurface(kuva, NULL, naytto, &alue);
}Kuva virheilmoituksesta:
http://tontsa.arkku.net/dl/virhe.png
Hanki sdl.dll:n uusin versio.
Oon koittanut jo SDL.dll:n vaihtamista, mutta eipä auttanut mitään. Tulee sama errori kummallakin versiolla
"Kummallakin", mitä se mahtaa tarkoittaa? Tällä hetkellä uusin on SDL:n sivuilta saatava 1.2.11. Samainen ongelma oli toisessakin keskustelussa (https://www.ohjelmointiputka.net/keskustelu/
Kumma kyllä uusimman dll tiedoston hakeminen auttoi. Hain kyllä netistä jonkun mutta se taisikin sitten olla vanha.
Etsin kyllä tietoja tuolta toisestakin aiheesta, mutta
kiitos avusta. :)
Juu, aina kun jotakin pitää ladata, se kannattaa ladata projektin itsensä sivuilta. Yleensä ne aidot sivut kyllä tunnistaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.