Instal·lar i compilar amb Qt4 i OpenGL (Interficies)
Aquest how-to parteix d'una instal·lació de l'Ubuntu 9.04 (no crec que sigui molt diferent d'aquí uns dies quan surti la 9.10). Així doncs procedirem a instal·lar Qt (que per defecte ja ens instal·larà OpenGL). A la universitat en l'assignatura Visualització i Interacció Gràfica (VIG), treballem amb aquestes llibreries amb OpenSuse i això dóna problemes.
Primer de tot veurem com instal·lar Qt i OpenGL:
(Per la gent que estigui fent VIG i que fes la primera pràctica des del seu ordinador no cal que faci aquest pas.)
$ sudo apt-get install qt4-designer qt4-dev-tools qt4-dev-tools-dbg qt4-doc qt4-doc-html qt4-qmake qt4-qtconfig
Ara ja tenim les llibreries de Qt instal·lades i el Designer (entorn gràfics de desenvolupament d'interfícies amb Qt).
Per tant seria el moment d'agafar el codi de la pràctica, amb OpenGL i executar en el nostre directori de treball:
$ qmake
$ make clean
$ make
En principi, com que tenim una instal·lació semblant, us hauria de donar un conjunt d'errors en els quals l'explicació diu que no troba un conjunt de llibreries.
He estat mirant una mica què passava i he vist que el nostre qmake va a buscar les llibreries en un directori diferent al qual s'instal·len per defecte.
Per tant, m'he decidit en crear els soft-links necessaris:
$ cd /usr/include
$ ln -s /usr/include/qt4/QtCore QtCore
$ ln -s /usr/include/qt4/QtDesigner QtDesigner
$ ln -s /usr/include/qt4/QtGui QtGui
$ ln -s /usr/include/qt4/QtOpenGL QtOpenGL
$ ln -s /usr/include/qt4/QtScript QtScript
$ ln -s /usr/include/qt4/QtXml QtXml
Si tornem a fer el make veurem que ens compila sense cap problema. Recorda que no s'ha fet un link de totes les llibreries de Qt, sinó nomées les que s'usen a l'esquelet. Si mai t'en falta alguna, hauràs de repetir el mateix procediment.
Un cop fet tot això, ja tenim funcionant el compilador de C++ usant les llibreries de Qt i OpenGL en l'Ubuntu. Diria que hi ha solucions millors a aquest problema, per tant si sabeu solucions alternatives us agraïria conéixer les vostres solucions!