Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL_image

juha127 [13.02.2006 09:20:13]

#

Nyt sitten kysyn tätä täältä, ei mistän löydy valmiiksi opasta(ainaskaa suomeks, ku enkun taito o vie huono).
Ja itse asiaan. Eli löytyykö mistään suomenkielistä opasta sdl_image kirjaston asennukseen dev-c++, jos ei osaisiko putkan väki auttaa. Tai jotain muuta tapaa saada jpg kuvat toimimaan.
Ainakaan google ei osannu mun hakusanoilla.

FooBat [13.02.2006 09:24:25]

#

http://old.devpaks.org/show.php?devpak=142
->download

Meitsi [13.02.2006 13:39:04]

#

Kannattaa tutkiskella devc++:san päivityssysteemin listoja. Sieltä löytää suuren osan paketeista joita saa...

juha127 [13.02.2006 21:45:28]

#

No meitsin neuvolla onnistui asennus, mutta ei toimi vielä
Ilmoittaa vaan:

C:\Dev-Cpp\kaikki.o(.text+0x64) In function `SDL_main': [Linker error] undefined reference to `IMG_Load'
C:\Dev-Cpp\kaikki.o(.text+0x64) ld returned 1 exit status
C:\Dev-Cpp\Makefile.win [Build Error] [sdl_test.exe] Error 1

includet näyttää tältä:

#include <SDL/SDL.h> // sisällytetään SDL:n otsikkotiedostot
#include <SDL/SDL_image.h>
#include <jpeglib.h>

ja IMG_load kohta:

kuva = IMG_Load("rsmap.jpg");

Itse en oikein käsitä virhettä.

rndprogy [13.02.2006 21:51:42]

#

Virhe ei ole koodissa vaan linkityksessä. Mitä parametreja olet antanut linkitettäessä, tai jättänyt antamatta?

juha127 [14.02.2006 18:42:23]

#

Tää homma menee vieläkin yli hilseen en tajua tuota linkitys juttua. Ainoa mitä tuolla SDL_image:lla haen on jpg kuvien käyttö. Ja jos kysetti miksi? Niin mitä eroa 3090x2578 kuvalla bmp:nä tai jpg:nä.
Mutta tuo linkitys?

tn [14.02.2006 19:53:33]

#

Lyhyesti:
Kun sisällytytät ohjelmaasi jonkin kirjaston otsikkotietostot tyyliin:
#include <kirjasto>
, niin sillä vain kerrotaan, että ko. kirjaston funktioita on mahdollista käyttää ohjelmassasi. Ohjelmaa käännettäessä täytyy vielä linkittää kyseisen kirjaston funktiot oman koodisi kanssa yhdeksi klöntiksi, jolloin syntyy toimiva kokonaisuus.

Siispä etsi Dev-C++:ssa Project Options > Parameters-välilehti > Linker-tekstilaatikko, ja kirjoita siihen seuraavanlainen litanja:

-lmingw32 -lSDL_image -lSDLmain -lSDL

Tuossa siis linkitetään ohjelmaan tiedostot libmingw32.a, libSDL_image.a, libSDLmain.a sekä libSDL.a. Näistä kaksi viimeistä ovat SDL:n omia kirjastotiedostoja, toinen on SDL_image, ja ensimmäinen ei välttämättä edes pakollinen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta