|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
QT
cos'e' l'opzione -lqte passata al gcc
alle volte l'ho vista come -lqt tanks.. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
-l è una direttiva per il linker, e indica di linkare al programma la libreria specificata. -lqte linka a libqte.so; -lqt linka a libqt.so
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
ok e se il compilatore(linker) mi dice: ld: cannot find -lqte?
puo'essere colpa di un path? dove guarda il linker? in LD_LIBRARY_PATH? o LIBRARY_PATH? comunque queste due variabili puntano ad una dir che contiene libqte.so.2 collegamento a---(qualcosa che comunque esiste) libqte.so.2.3 collegamento a---(qualcosa che comunque esiste) libqte.so.2.3.2 collegamento a---(qualcosa che comunque esiste) libqpe.so.1 libqpe.so.1.5 libqpe.so.1.5.0 dovrebbe trovarlo no. Come fa a decidere il linker quale e' la libreria da usare? cioe' perche' la 2.3.2 invece della 2? ciao e grazie. Ultima modifica di x110 : 15-07-2004 alle 15:17. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Non porti domande troppo difficili.
Per dire al linker dove trovare una libreria, se la libreria è in un percorso non-standard (come le Qt), devi usare la direttiva -L; ad es. -L /usr/lib/qt3/lib/ nb man gcc
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
ok sto usando le qt su uno zaurus che e' un palmare nativo linux
della sharp piattaforma arm. sto cercando di compilare un programmino dal palmare stesso. usando tmake mi viene generato un Makefile che in effetti cerca di linkare dei file oggetto con: gcc -o hello hello.o main.o moc_hello.o -L/home/Qtpalmtop/lib -lqte -lqpe ed e' li che ld mi dice: cannot find -lqte. perche' che invece libqte c'e'? forse chiedo troppe cose, ma con il man non riesco ad avere una visione d'insieme mentre sul forum alle volte si capisce bene. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ah compilazione incrociata, quindi non puoi usare la ld cache.
Crea il link linqte.so -> libqte.so.2 nb quello script è buggato: quando linki oggetti c++, devi usare il g++ non il gcc. Se ti da dei unresolved symbols su funzioni c++, sai come procedere.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
cosa intendi per compilazione incrociata.... cross?
non la dovrebbe essere perche' compilo direttamente dall'arm. comunque cio' che mancava era propio il link alla qte con nome .so c'erano tante .so.2 .so.2.3.2 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:08.



















