Hmm, možda je moje pitanje malo nejasno postavljeno (a možda i malo preglupo), pa ću ga pokušati pojasniti.
Citat:
Primeri koji idu uz Ogre koriste biblioteke OgreMain.dll ili OgreMain_d.dll ukoliko se koriste release ili debug verzije projekta.
To mi je jasno. Ali isto tako npr. neki primjer ima uključen recimo OgreMain_d.lib i OIS_d.lib, a to nisu dll, nego statički lib. Nije mi bitno kako to funkcionira, nego da li se takav link smatra dinamičkim ili statičkim.
Konkretnije, recimo da pišem aplikaciju koja koristi funkcije iz ogre-a. Da bi ju skompajlirao moram u projektu uključit OgreMain_d.lib (ili bez _d za runtime nije bitno) ili ću dobiti link error. I isto tako da bi dobiveni .exe te moje aplikacije pokrenuo, treba mi naravno OgreMain_d.dll. Eh, sada me zanima, da li je smatra da ta moja aplicacija ima statički ili dinamički link na ogre (jer koristi i OgreMain_d.lib i OgreMain_d.dll), odnosno, da li bi taj moj source linkan na ovako opisan način automatski bio 'zagađen' sa LPGL.
Citat:
Možeš da pokupiš kompletan Ogre source (source package iz download sekcije) i da kreiraš projekat koji će statički vezati sve potrebne biblioteke u jedan izvršni fajl, ovo mi prvo pada na pamet.
Ne želim statički link napravit, nego me zanima baš dinamičko linkanje (mislim da sam to u poruci napisao). Statičko linkanje me zanima samo kao primjer što ne napraviti.
Citat:
Pod Ogre-om se uglavnom podrazumeva OgreMain.dll. Na koje si biblioteke is "skupa" mislio? Ako mislis na 3rd party lib-ove, onda treba procitati njihove licence (koje su uglavnom LGPL takodje).
Nije bitno, kao što kažeš većinom su LGPL (ili manje restriktivne). Inače, u onom kontekstu sam mislio na .lib fajlove kao OgreMain.lib, a ne .dll.
Citat:
Zasto imas potrebu da linkujes Ogre3D staticki?
Nemam potrebu linkat ga statički. Želim ga linkati dinamički, i bit siguran nisam krivo shvatio što je tu statički a što dinamički (zbog licence). To je možda malo nejasno bilo u mom pitanju. Zapravo, najjednostavnije rečeno, želim da mi neko 'prstom pokaže' neki program (sa sourcom) i kaže: Gle, ako napraviš link kao što je napravljen u ovom programu, tvoj kod spada pod točku 1. iz onog sažetka licence (1. When OGRE is dynamically linked (the default), anything you use it in is not a derived work and thus you can license your own software under any license you choose; the LGPL does not 'infect' your software). Ili: Moraš napravit linkanje tako i tako (npr. nesmiješ u projekt nikakav OgreMain.lib uključivat, sve se mora sa funkcijom ::LoadLibray("OgreMain.dll"); obavljat ili kako već) da se tvoj program spada pod tu točku 1.
Dakle, što na što se točno misli (konkretno bi se u mom projektu i sourcu što se trebalo napravit) da se to smatra "When OGRE is dynamically linked (the default), ...".
Sad sam potrošio puno teksta za zapravo jednostavno pitanje, ali radi jasnoće pokušati ga još jednom ponoviti (objašnjavanje mi nije jedna od jačih strana, moje isprike :) ). Dakle, ja nisam 100% siguran na što se misli kad se kaže dinamičko linkanje ogre-a (defaultno) pod tom točkom 1. i zanima me kako se točno radi (najbolje bih znao kad bih vidio neki jednostavni visual studio projekt (aplikaciju) koji na taj način linka ogre).