|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Tor Apr 12, 2011 9:34 am Naslov sporočila: qt - qextserialport |
|
|
Lep pozdrav!
Izdelujem preprost grafični vmesnik za komunikacijo s serijskimi vrati računalnika, ki jo bom kasneje uporabil za gsm-terminal. Za to sem iz interneta snel knjižico qextserialport, jo prevedel in skopiral v direktorij mojega projekta. Spremenil sem tudi .pro datoteko, tako kot je treba. Pa mi pri prevajanju kljub temu javi napako:
Citiram: |
/home/blaz/Dokumenti/GUI projekti/GSM_terminal-build-desktop/../../GUI_projekti/GSM_terminal/gsmterminal.cpp:25: error: undefined reference to `QextSerialPort::QextSerialPort(QString const&, PortSettings const&)' |
in pa še eno napako:
Citiram: |
:: error: collect2: ld returned 1 exit status |
Moja procedura, ob kliku na gumb:
Koda: |
void GSMterminal::on_pushButton_clicked()
{
PortSettings nastavitve;
nastavitve.BaudRate=BAUD9600;
nastavitve.DataBits=DATA_8;
nastavitve.Parity=PAR_NONE;
nastavitve.FlowControl=FLOW_OFF;
nastavitve.Timeout_Millisec=0;
QextSerialPort* port=new QextSerialPort("ttyS0",nastavitve);
if(port->open(QextSerialPort::ReadWrite))
{
qDebug("Serijska vrata so povezana!");
port->close();
}
else
{
qDebug("Napaka v povezavi!\n");
}
}
|
Uporabljam Kubuntu ter qt creator. Upam, da je kdo tukaj, ki se vsaj malo spozna, jaz se šele uvajam v ta framework..
_________________ return;
brake; |
|
Nazaj na vrh |
|
|
chaos Član
Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.96 Kraj: Zagorje ob Savi
|
Objavljeno: Tor Apr 12, 2011 10:00 am Naslov sporočila: |
|
|
Kaj ce bi pripel cel projekt, ce ni skrivnost? Takole na pamet ugotavljati gre samo z magicno kroglo.
Recimo da si pozabil vkljuciti header datoteko. Ali pa ne uporabljas (pravega) namespace scope-a. Mogoce si pozabil tvoj program linkati s primernimi objekti oz. knjiznicami?
LP!
|
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Tor Apr 12, 2011 3:44 pm Naslov sporočila: |
|
|
Evo, tukaj celotna mapa projekta..
Opis: |
|
Download |
Ime datoteke: |
GSM_terminal.tar.gz |
Velikost datoteke: |
55.64 KB |
Downloadano: |
9 krat |
_________________ return;
brake; |
|
Nazaj na vrh |
|
|
Benjamin Član
Pridružen-a: Tor 10 Jul 2007 11:23 Prispevkov: 116 Aktiv.: 0.57 Kraj: Trebnje, Ljubljana
|
Objavljeno: Čet Apr 14, 2011 9:19 am Naslov sporočila: |
|
|
Živjo!
Namesto trenutno zakomentirane vrstice v projektu GSM_terminal.pro daj tole:
Koda: |
LIBS += -lqextserialport |
_________________ Cessna 152: "Flight Level Three Thousand, Seven Hundred"
Controller: "Roger, contact Houston Space Center" |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Ned Apr 17, 2011 12:25 pm Naslov sporočila: |
|
|
Kako se sploh vključi neko novo knjižico na linuxu za qt? Projekt, ki sem ga prenesel z interneta (qextserialport) sem zgradil s qmake in make. Dobil sem nov direktorij build, v katerem so neke .so datoteke. Kako zdaj od tu naprej, če mi lahko nekdo prosim pomaga, ker ne najdem nobenih navodil na internetu. Za windows so, ampak je malo drugače in se ne znajdem.
_________________ return;
brake; |
|
Nazaj na vrh |
|
|
chaos Član
Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.96 Kraj: Zagorje ob Savi
|
Objavljeno: Ned Apr 17, 2011 8:55 pm Naslov sporočila: |
|
|
Dobil si t.i. shared-object library (.so), ki se "poveže" - linka s tvojim programom run-time - to pomeni, da se naloži takrat, ko poženeš tvoj program. Druga vrsta knjižnic na linuxu so t.i. static libraries (.a) oz. statične knjižnice, ki se pa vključijo v tvoj program ob prevajanju (oz. bolj točno linkanju), in so potem del tvojega izvršnega programa.
Sicer ti je že Benjamin napisal, kaj moraš narediti, mogoče je treba samo še dodati pot, kjer se tvoja knjižnica nahaja. Najbolj pravilno seveda je, če svojo knjižnico pravilno namestiš - to se ponavadi naredi z "make install" - to preveri v dokumentaciji zraven te knjižnice.
Drugače je dober vir informacij qmake manual - tam notri boš našel opis možnosti, ki jih ponuja, ter načine uporabe.
LP!
|
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Pon Apr 18, 2011 9:19 am Naslov sporočila: |
|
|
Zadevo sem rešil s spremenljivko LD_LIBRARY_PATH. Nekje sem zasledil, da to ni dobra ideja, ampak nič drugega mi ni pomagalo. Tudi z LIBS+=-L ter direktorij in -l qextserialport mi je dajalo iste rezultate. Ko sem zagnal export LD_LIBRARY_PATH in direktorij knjižice, je delovalo super. Knjižice sem tudi kopiral v /usr/lib in v /usr/local/lib ter v /lib ampak isti šmorn..
_________________ return;
brake; |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Pon Apr 18, 2011 11:58 am Naslov sporočila: |
|
|
Sem poskusil v šoli na windows 7 in deluje. Nastavil sem samo pot za mingw-32 ter spremenil .pro datoteko (dodal sem pot do knjižic). Zakaj na Linuxu ne deluje, če ne nastavim LD_LIBRARY_PATH?
_________________ return;
brake; |
|
Nazaj na vrh |
|
|
chaos Član
Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.96 Kraj: Zagorje ob Savi
|
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.05 Kraj: Koroška-Mežica
|
Objavljeno: Pon Apr 18, 2011 7:22 pm Naslov sporočila: |
|
|
Tudi že poskusil knjižico skopirati v /usr/lib in zagnati ldconfig ampak je na seznamu kasneje nisem našel (ukaz sem pognal z argumentom -v)..tako, da se očitno ni namestila..ne vem zakaj.
_________________ return;
brake; |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 75 dni
Powered by phpBB © 2001, 2005 phpBB Group
|