Kirjoittaja Aihe: Qt ja qwt vielä kerran  (Luettu 2147 kertaa)

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Qt ja qwt vielä kerran
« : 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

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Qt ja qwt vielä kerran
« Vastaus #1 : 06.01.15 - klo:15.27 »
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.

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Vs: Qt ja qwt vielä kerran
« Vastaus #2 : 06.01.15 - klo:16.21 »
 
Nyt koneessa pitäisi olla paketit qt4-dev-tools ja libqwt-dev asennettuina.

Tässä alla on qmakella tehty .pro -tiedosto

Koodia: [Valitse]
######################################################################
# 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

Koodia: [Valitse]
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ä

Koodia: [Valitse]
/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

Koodia: [Valitse]
/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





nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Qt ja qwt vielä kerran
« Vastaus #3 : 06.01.15 - klo:17.20 »

Nyt koneessa pitäisi olla paketit qt4-dev-tools ja libqwt-dev asennettuina.

Eli asensit nyt Qwt 6:n.

Koodia: [Valitse]
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ä:

Koodia: [Valitse]
INCLUDEPATH += /usr/include/qwt
LIBS += -lqwt

Lisäys: Ilmeisesti nuo INCLUDEPATH ja LIBS -lisäykset ovat muutenkin tarpeettomia ja pelkkä CONFIG += qwt riittää.
« Viimeksi muokattu: 06.01.15 - klo:17.29 kirjoittanut nm »

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Vs: Qt ja qwt vielä kerran
« Vastaus #4 : 06.01.15 - klo:17.36 »
Nyt näytäisi kääntyvän, kiitos  :)