Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 18.05.14 - klo:20.52
-
Tarkoituksena olisi saada Qt ja qwt toimimaan Trustyssä niin, että esimerkiksi Oscilloscope -esimerkkiohjelman (-projektin ?) voisi kääntää.
Latasin Qt:n ja qwt:n ja esimerkkiohjelmat Ubuntun Ohjelmistokeskuksesta, ja voi olla, että niiden keskinäisessä versioinnissa on jotain häikkää, mutta en osaa sitä selvittää.
Onko kellään kokemusta asiasta. Olisi mukava testailla vähän jotain muutakin kuin Hello -ohjelmaa.
teele
-
Kubuntussa on toimiva Qt. Kääntämiseen tarvitset -dev-päätteisiä paketteja.
-
Selvä, yritän laittaa Kubuntun koneeseen jossain vaiheessa.
Mutta olisiko vielä joku "metapaketti" tai komentojonosarja, jolla saan kaikki tarvittavat tiedostot mukaan lukien esimerkit niin, että pakettivalintavirheet ainakin jäävät pois.
Aiheen sivusta: En ole koskaan vielä kokeillut Kubuntua, ja tässä koneessa on alun perin ollut Windows 8. Laitoin viime kesänä Ubuntu 12.04:n, ja sitä varten piti uefi vaihtaa legacy modeen. Jos uefia ei laittanut pois päältä, kone käynnistyi aina Windowsiin. Nyt kun uefi on pois päältä, Windowsiin ei pääse, vaikka aloitusvalikosta yrittäisi. Nyt varmaan Kubuntu 14.04 osaa asentua uefin kanssakin?
-
Kubuntussa on toimiva Qt.
Täsmälleen samat paketit latautuvat Ubuntuunkin, kun Qt:n ja qwt:n asentaa apt-getillä.
Tarkoituksena olisi saada Qt ja qwt toimimaan Trustyssä niin, että esimerkiksi Oscilloscope -esimerkkiohjelman (-projektin ?) voisi kääntää.
Asenna tarvittavat paketit:
sudo apt-get install build-essential g++ libqwt-dev libqwt-doc
Kopioi esimerkkikoodi kotihakemistoosi:
cp -r /usr/share/doc/libqwt-doc/examples ~/qwt-examples
Muokkaa projektin parametreja tiedostossa ~/qwt-examples/examples.pri. Alkuperäinen koodi on tarkoitettu käännettäväksi qwt:n lähdekoodipuussa, mutta sitä ei tarvitse asentaa, jos vain säätää polut oikeiksi. Muuta siis tiedoston alussa olevat rivit:
QWT_ROOT = $${PWD}/..
include( $${QWT_ROOT}/qwtconfig.pri )
include( $${QWT_ROOT}/qwtbuild.pri )
TEMPLATE = app
INCLUDEPATH += $${QWT_ROOT}/src
DEPENDPATH += $${QWT_ROOT}/src
DESTDIR = $${QWT_ROOT}/examples/bin
-->
QWT_ROOT = $${PWD}
include( /usr/share/qt4/mkspecs/features/qwtconfig.pri )
TEMPLATE = app
INCLUDEPATH += /usr/include/qwt
DESTDIR = $${QWT_ROOT}/bin
Käännä oscilloscope-esimerkkiohjelma:
cd ~/qwt-examples/oscilloscope
qmake
make
(Jos käännöksessä tulee virheitä, kopioi listaus tänne.)
Käynnistä käännetty esimerkkiohjelma:
~/qwt-examples/bin/oscilloscope
-
Esimerkit ovat nyt kotihakemistossani. qtAddLibrary() pitäisi korvata ilmeisestikin, mutta en ole vielä löytänyt missä.
tm@tm:~$ cp -r /usr/share/doc/libqwt-doc/examples ~/qwt-examples
tm@tm:~$ cd ~/qwt-examples/oscilloscope
tm@tm:~/qwt-examples/oscilloscope$ qmake
Project WARNING: qtAddLibrary() is deprecated. Use QT+= instead.
Project ERROR: No module matching library 'qwt' found.
tm@tm:~/qwt-examples/oscilloscope$
-
tm@tm:~$ cp -r /usr/share/doc/libqwt-doc/examples ~/qwt-examples
tm@tm:~$ cd ~/qwt-examples/oscilloscope
tm@tm:~/qwt-examples/oscilloscope$ qmake
Project WARNING: qtAddLibrary() is deprecated. Use QT+= instead.
Project ERROR: No module matching library 'qwt' found.
tm@tm:~/qwt-examples/oscilloscope$
Sinulla on näemmä asennettuna Qt4:n lisäksi myös Qt5-kehitysympäristö, jonka qmake (tai oikeastaan qtchooser) valitsee oletuksena. Ubuntun Qwt-paketointi toimii vain Qt4:n kanssa. Käytä siis komentoa qmake -qt=qt4
cd ~/qwt-examples/oscilloscope
qmake -qt=qt4
make
-
Kiitos, nyt kääntyy!