Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Libraryjen käyttäminen libraryssä?

MiikaH [19.02.2005 17:24:58]

#

Aloitin tekemään OpenGL:ää piirtämisessä käyttävää "Static Library":ä. Eli "libraryni" sisältää funktioita jotka piirtävät OpenGL:n avulla.

Kun linkitän tämän kirjaston OpenGL ohjelmaan tulee linker erroreita jokaisesta GL funktiosta joita käytän kirjastossani.
(Kuitenkin toimii ongelmitta jos piirrän suoraan.)

Teen tätä Dev-C++:lla ja olen (varmuuden vuoksi) linkittänyt kaiken OpenGL:n liittyvän siihen kirjasto projektiin ja normaaliin ohjelmaani, mutta silti ei toimi.

Tosin tämä on ensimmäinen kirjasto jota teen, joten virhe saattaa olla hyvinkin yksinkertainen..

Eli miten saisi toimimaan?

Metabolix [19.02.2005 18:27:34]

#

Auttaisi kovasti, jos kertoisit, mikä virhe. Ei tarvitse kaikkia sataa virhettä laittaa, yksikin riittää, jos ne ovat kaikki samanlaisia.

Kokeilepa linkittää linkitettävät OpenGL-tiedostot vain toiseen noista. Jos samat GL-funktiot linkitetään kahteen kertaan (alkuperäiset + tuon oman kirjastosi kautta), se voi huonolla linkkerillä aiheuttaa virheen.

MiikaH [19.02.2005 18:34:31]

#

Virhe siis tulee KAIKILTA OpenGL:n funktioilta joita käytän kirjastossani. (Olen kokeillut kaikkia mahdollisia linkittämis vaihtoehtoja.)

Virheet siis ovat samat kun jättäisit opengl32.lib:n linkittämättä. (Virheitä ei tule jos käytän GL funktioita suoraan "pää ohjelmasta", mutta kun kutsun sen kirjastoni funktiota joka käyttää GLfunktioita tulee virhe.)

[Linker error] undefined reference to `glNormal3f@12'
[Linker error] undefined reference to `glTexCoord2f@8'

Tossa sitten niitä virheitä. (Noista se lista alkaa ja loppuu. Mitään muita virheitä ei ilmoita.)

EDIT : Vika löytyi...
Olin linkittänyt ENSIN OpenGL:n kirjastot ja sen jälkeen kirjastoni.
Kun siirsin kirjastoni ensimmäiseksi linkkerin listaan alkoi toimia...

Vastaus

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

Tietoa sivustosta