Mistä ihmeestä saa ladattua OpenGL? Olen nyt yrittäny CodeBlocksilla 100x erillaisia OpenGL koodeja ja mikään ei toimi. Kaikki funktioit jotka liittyvät OpenGL eivät toimi, joten haluan koko paketin ja käytän sitä. Googlella etsein koko OpenGL pakettia mutta ainut mitä löytyi oli OpenGL32.dll.
Itse varmaankin katsoisin jonkun ohjeen ja tekisin sen mukaan
http://www.google.fi/search?q=codeblocks opengl
Eiköhän lähes kaikissa alkeisohjeissa ole mukana maininta, että tarvitaan linkkeriasetus -lopengl32
. Kannattaisi siis koodin kopioinnin lisäksi aina lukea sivulla oleva "teoriaosuus".
Lisäksi noin monen vuoden koodaamisen jälkeen sinunkin pitäisi jo tietää, että "undefined reference" tarkoittaa, että funktio puuttuu eli että kirjastoa ei ole linkitetty. Funktion nimellä (esim. glBegin
) löytyy helposti tieto, missä kirjastossa se sijaitsee (esim. opengl32.dll), ja käytännössä kaikki kirjastot linkitetään saman kaavan mukaan (-lnimi
, esim. -lopengl32
).
Siinäpä juju. Etsein lib kansiosta opengl32.lib tiedostoa, mutta ei ollut mitään. Ei yhtään mitään mikä alkaisi gl tai opengl.. Joten hieman viakea linkittää, mutta luen nyt muutaman oppaan joita tuon google hakusanan kautta löytyi niin katsotaan jos onnistuisi. Kiitos. =)
Kaikki kääntäjät eivät käytä .lib-päätettä. MinGW-kääntäjällä linkityskirjaston nimi olisi libopengl32.a, jos muistini ei pahasti petä. Et kyllä vaivautunut edes kertomaan meille, mitä kääntäjää käytät CodeBlocksin kanssa.
Opettele aikasi kuluksi käyttämään komentoriviltä käskyä, jolla voit hakea hakemistopuusta kaikki tietyn päätteen sisältävät tiedostot. Sellaisia on parempiakin, mutta Windowsissa pitäisi ainakin (muistinvaraisesti) dir /s *.a toimia. (Tai sitten *.lib, jos kääntäjäsi käyttää tätä päätettä.)
OpenGL sisältyy yleensä peruspakettiin. MinGW ei käytä .lib-päätteisiä tiedostoja (vai näitkö montakin sellaista?) vaan lib*.a-tiedostoja. Lisäksi DLL-tiedostoon voi ainakin joskus linkittää myös ilman ylimääräisiä kirjastotiedostoja.
Kiitos kiitos kiitos. :D
Nyt tosiaan ymmärsin monta asiaa yhdellä kerralla ja sain koko järjestelmän toimimaan kuin vettä vaan. Kiitos vielä kerran. =)
Aihe on jo aika vanha, joten et voi enää vastata siihen.