Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 06.01.15 - klo:08.37
-
Käyrän piirtäminen qwt:llä ei (enää) onnistu, ja tuloksena on erilaisia virheilmoituksia erilaisilla kokeiluilla, joten poistin kaikki qt- ja qwt-paketit. (kokeilin sitä qwt... dev -pakettia)
Nyt olisi hienoa, jos voisimme katsoa ihan alusta, mitä ja miten asennan (qt:n ja qwt:n ?) koneelleni niin, että saan piirrettyä käyrän koordinaatistoon.
Tässä koneessa on Ubuntu 14.04, ja voin myös käyttää kokeiluun konetta, jossa on Ubuntu 14.04. Entisiin asennuksiin käytin Ubuntun sovellusvalikoimaa, mutta jos asia hoituu esimerkiksi päätteeltä varmemmin, käytän mielelläni myös sitä.
teele
-
Qt4-kehitykseen riittää libqt4-dev. Lisäksi voi asentaa paketin qt4-dev-tools, jonka mukana pitäisi tulla mm. qt4-designer ja qt4-doc.
Qwt:stä on tarjolla kaksi versiota: 5 ja 6. Valitse tarkoitukseesi sopiva, eli jos sinulla on esimerkiksi vanhaa koodia, joka on kirjoitettu versiolle 5, etkä halua ongelmia versioiden välisistä eroista, asenna vanhempi versio. Jos taas olet kirjoittamassa uutta ohjelmaa, kannattanee asentaa versio 6. Paketit ovat:
Qwt 5: libqwt5-qt4-dev
Qwt 6: libqwt-dev
Kun saat nämä asennettua ja törmäät samoihin virheilmoituksiin, kopioi ne koodin kera tänne foorumille, niin tutkitaan, mikä koodissa on vikana.
-
Nyt koneessa pitäisi olla paketit qt4-dev-tools ja libqwt-dev asennettuina.
Tässä alla on qmakella tehty .pro -tiedosto
######################################################################
# Automatically generated by qmake (2.01a) Tue Jan 6 16:01:45 2015
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
SOURCES += qwtkoe01.cpp
Aikaisemmilta kerroilta olin oppinut sen, että tällaisenaan .pro -tiedosto ei toimi, vaan siihen on lisättävä loppuun rivit
CONFIG += qwt
INCLUDEPATH += /usr/include/qwt-qt4
LIBS += -l qwt-qt4
Tämän tein aina käsityönä.
Jos en lisää rivejä nyt, tulee virheenä
/qt/harjoittelu1/qwtkoe01$ make
g++ -m64 -Wl,-O1 -o qwtkoe01 qwtkoe01.o -L/usr/lib/x86_64-linux-gnu -lQtGui -lQtCore -lpthread
qwtkoe01.o: In function `main':
qwtkoe01.cpp:(.text.startup+0x2c): undefined reference to `QwtPlot::QwtPlot(QWidget*)' ... jne, pitkä rimpsu
Jos lisään rivit, tulee virheet
/qt/harjoittelu1/qwtkoe01$ make
/usr/bin/qmake -o Makefile qwtkoe01.pro
g++ -m64 -Wl,-O1 -o qwtkoe01 qwtkoe01.o -L/usr/lib/x86_64-linux-gnu -l qwt-qt4 -L/usr/lib -lqwt -lQtSvg -lQtGui -lQtCore -lpthread
/usr/bin/ld: cannot find -lqwt-qt4
collect2: ld:n paluuarvo oli 1
make: *** [qwtkoe01] Virhe 1
Tämä oli yhtenä virheenä muistaakseni jo ennen qwt:n uutta asennusta. Tietysti qwt-qt4 voi olla nyt toisenniminen, ja kokeilin jo 6:ta 4:n paikalla, mutta sekään ei taida auttaa.
Ohjelmakoodissa voi olla vanhentuneita funktioita, mutta niitä voi varmaan sitten perata erikseen, kunhan kirjastot alkavat löytyä.
teele
-
Nyt koneessa pitäisi olla paketit qt4-dev-tools ja libqwt-dev asennettuina.
Eli asensit nyt Qwt 6:n.
CONFIG += qwt
INCLUDEPATH += /usr/include/qwt-qt4
LIBS += -l qwt-qt4
Tässä yrität käyttää kirjastoa libqwt-qt4, joka on Qwt 5. Kokeile sen sijaan tätä:
INCLUDEPATH += /usr/include/qwt
LIBS += -lqwt
Lisäys: Ilmeisesti nuo INCLUDEPATH ja LIBS -lisäykset ovat muutenkin tarpeettomia ja pelkkä CONFIG += qwt riittää.
-
Nyt näytäisi kääntyvän, kiitos :)