Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: OpenGL-koodin kääntäminen

mika132 [02.10.2011 19:37:57]

#

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.

Grez [02.10.2011 19:55:32]

#

Itse varmaankin katsoisin jonkun ohjeen ja tekisin sen mukaan
http://www.google.fi/search?q=codeblocks opengl

Metabolix [02.10.2011 19:59:13]

#

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).

mika132 [02.10.2011 20:25:49]

#

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. =)

Pekka Karjalainen [02.10.2011 20:50:44]

#

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ä.)

Metabolix [02.10.2011 20:52:01]

#

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.

mika132 [02.10.2011 20:59:09]

#

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. =)

Vastaus

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

Tietoa sivustosta