Newsgroup: it.comp.macintosh
Titolo: Qt3 e problemi

Allora il tutto e' molto semplice, decisi di sviluppare in qt per mac,
avendo i darwin port ho semplicemente fatto 
sudo port install qt3 
E mi ha scaricato, e installato le qt... fin qui ok
Ho settato come da manuale i path verso la directory dove avevo gli
header file, ho copiato il primo programma del cavolo con l'hello per
vedere se compilava... LAnciato il qmake -project e il qmake, e poi il
make....
Ma mi da' questo cavolo di messaggio:
d: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
QPushButton::resize(int, int)
QPushButton::QPushButton[in-charge](QString const&, QWidget*, char
const*)
QPushButton::~QPushButton [in-charge]()
QStringData::deleteSelf()
QApplication::setMainWidget(QWidget*)
QApplication::exec()
QApplication::QApplication[in-charge](int&, char**)
QApplication::~QApplication [in-charge]()
QString::shared_null
QString::QString[in-charge](char const*)
QWidget::show()
make: *** [
qt.app/Contents/MacOS/qt
] Error 1
Qualcuno a qualche idea?? Spero di risolvere presto, se no come faccio
ad appestare l'etere di programmi con la gui del tutto inutili???
Sigh
Whamoo

 make....
Io ho installato le qt native per osx  e si compilano perfettamente ed
e' molto meglio se non hai esigenze di compatibilita' con linux.
-- 
Ciao
Fabio

 ad appestare l'etere di programmi con la gui del tutto inutili???
Premetto che ci capisco poco ma cosi' a occhio ti manca un header file.
Secondo me sono tre le possibilita':
1) non c'e' proprio l'header file;
2) non hai messo l'include nel tuo codice;
3) l'header file non e' nella cartella corretta (magari e' settata male
la variabile che contiene la posizione degli header file).
Quindi devi trovare l'header che manca e al limite mettere l'include con
l'indirizzo esatto del file.
P.S.
Fai attenzione che potrei aver detto un sacco di vaccate.
Sono anni che non maneggio piu' il C++ e affini.
-- 
Ciao da Francesco B.

 Premetto che ci capisco poco ma cosi' a occhio ti manca un header file.
No a occhio e croce la compilazione la esegue l'errore e' dato da ld che
e' il linker. In pratica il linker non riesce a trovare i metodi
invocati nel codice il che e' abbastanza strano perche' sembrano essere
metodi di Qt stessa. 
-- 
Ciao
Fabio

 metodi di Qt stessa.
direi che non e` affatto strano. probabilmente il linker non sa che deve
andare a pescare le librerie in /opt/local/lib (o qualcosa del genere).
btw, io QT me lo ero installato quando ancora non usavo i ports, compilato
a manina e funziona da dio ;)
-- 
#!/usr/bin/rik0
for whom the bell trolls?

 a manina e funziona da dio ;)
Le ho scaricate e compilate a mano, ma l'errore e' lo stesso.......
Come devo fare???
Come faccio a dire al linker dove pescare le librerie?
Whamoo

 Come faccio a dire al linker dove pescare le librerie?
man ld?
-- 
#!/bin/rik0               | Seasons don't fear the reaper
for whom the bell trolls? | Nor do the wind, the sun or the rain
                          | (BOC)

 a manina e funziona da dio ;)
La versione per Mac o qualla per X11 ?
Io ho scaricato la 3.3.0 per Mac e l'ho compilata senza problemi con
seguendo le istruzioni e va tutto perfettamente, hanno anche risolto
qualche buggettino rispetto alla precedente. Ti diro' non mi
dispiacciono queste Qt, le sto studiando un po' e non sono male. Io
preferirei wxWidget soprattutto per i noti problemi di licenza ma
l'assistant di Qt e' una vera tentazione. Ti da l'idea che sia tutto
semplice mentre della documentazione di wx non si puo' dire certo lo
stesso.
Bx qvterffvbar vahgvyr zn btav gnagb qrib fsbtner yn ybtbeern r cbv r'
vy zvb cevzb cbfg pba vy ebg13 :-)
-- 
Ciao
Fabio

 vy zvb cevzb cbfg pba vy ebg13 :-)
??????
Dio mio i russi sono sbarcati AIUTTOOOOOOOOOOOO
Whamoo

 l'assistant di Qt e' una vera tentazione.
il problema di licenza subentra solo quando devi lavorare su piattaforma
win. io su win mi rifiuto e ho risolto i miei problemi ;)


 win. io su win mi rifiuto e ho risolto i miei problemi ;)
E' vero ma se volessi fare un programma solo mac non ci sarebbe storia
Cocoa la farebbe da padrone, se volessi un programma crossplatform mi
dispiacerebbe parecchio escludere gli utenti win che sono una bella
fetta, soprattutto perche' i miei sw non e' che siano molto enterprise
:-)
-- 
Ciao
Fabio

 > il mio primo post con il rot13 :-)
-- 
Ciao
Fabio

 fetta, soprattutto perche' i miei sw non e' che siano molto enterprise
io personalmente mi chiedo sempre quanto sia bene che certi sw open
vengano portati su win... imho ci vuole equilibrio, un po' per mostrare
quanto sono buoni, ma non troppo per incoraggiare il passaggio verso
altri sistemi ;)


 linkare. basta dirgli che sono in /opt/local/lib ecc
minerva:~/ratto/qt whamoo$ ld -dylib_file
/usr/lib:/Developer/qt/lib/libqt.3.3.0.dylib main.o
ld: Undefined symbols:
__Unwind_Resume
__ZN11QPushButton6resizeEii
__ZN11QPushButtonC1ERK7QStringP7QWidgetPKc
__ZN11QPushButtonD1Ev
__ZN11QStringData10deleteSelfEv
__ZN12QApplication13setMainWidgetEP7QWidget
__ZN12QApplication4execEv
__ZN12QApplicationC1ERiPPc
__ZN12QApplicationD1Ev
__ZN7QString11shared_nullE
__ZN7QStringC1EPKc
__ZN7QWidget4showEv
___gxx_personality_v0
dyld_stub_binding_helper
non capisco percheeeee' gli ho detto dove andarsi a trovare tuttoooooo,
ma lui non fa il link lo stesso!!!!!!!!
Che palle!!!!!!!

 qualche errore hai sbagliato a configurare i valori in .profile
Ok facendo gcc -lqt non trova una mazza:
minerva:~ whamoo$ gcc -lqt
ld: can't locate file for: -lqt
Pero' le variabili in .profile le ho settate come da documentazione:
QTDIR=/Developer/qt
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/man:$MANPATH
DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH
QTDIR=/Developer/qt
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/man:$MANPATH
DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH
e facendo i vari echo delle variabili, mi da in output il percorso
esatto....
minerva:~ whamoo$ echo $QTDIR
/Developer/qt
minerva:~ whamoo$ echo $PATH 
/Developer/qt/bin:/bin:/sbin:/usr/bin:/usr/sbin:/opt/local/bin
minerva:~ whamoo$ echo $DYLD_LIBRARY_PATH
/Developer/qt/lib:
minerva:~ whamoo$ 
Quindi come posso procedere, a parte spararmi??? =)
Whamoo

 Quindi come posso procedere, a parte spararmi??? =)
generalmente un hacker con un buco in testa e le cervella sulla tastiera
e` meno efficiente di un hacker con le cervella dentro il cranio. quindi
trovo questa procedura controproducente...
piuttosto... hai controllato che effettivamente dentro a
/Developer/qt/lib ci sia qualcosa?
e un ultima cosa... se le hai settate in .profile, usi tcsh.. ma io
avevo idea che tu usassi bash...
prova a metterle in .bashrc...


 ma lui non fa il link lo stesso!!!!!!!!
manda i sorgenti in mail che provo a compilare qui...


 prova a metterle in .bashrc...
Le ho messe in .bashrc!!!!!! Non sono ancora del tutto fumato!
Uffa, questw qt mi stanno uccidendo!!!!
Whamoo

 Uffa, questw qt mi stanno uccidendo!!!!
cmq qui funzionano al primo colpo... hai letto la documentazione?
qmake -project
qmake
make 
?
tieni anche presente che se in sottodirectory della directory dove fai
qmake ci sono sorgenti, lui prova a metterli nel progetto, creando
notevoli casini.
btw... se usi il gcc a mano... 
man gcc
dai un occhio alle -L e -I ;)


 cmq qui funzionano al primo colpo... hai letto la documentazione?
Sisi, letto tutto, adesso mi spiegate questa cosa......
Se compilo i miei sorgenti nella directory
Developper/qt/tutorial/miacartella/blabla
Funziona e mi compila....... O_o
Se lo faccio nella mia home no!!!!!!
Va bhe, vedo di accontentarmi cosi'!! Almeno riesco a lavorarci.....
Whamoo

 Se lo faccio nella mia home no!!!!!!
ma stiamo parlando di lanciare qmake nella tua home, oppure di lanciare
qmake in una subdir della tua home senza sottocartelle che contentgono
del codice?


 del codice?
In una cartella con solo il file sorgente .ccp....
Bho, tanto ora va quindi mi adeguo
Whamoo

 Bho, tanto ora va quindi mi adeguo
io non lo vedo un gran sistema... ;)
piuttosto ricompila a mano le QT ;)
-- 
#!/usr/bin/rik0



-- 
Ve lo meritate Gil Amelio!

 Queste non vanno bene?
non le ho provate... ma compilarsele da se e` talmente facile che non ne
sento il bisogno :)


 prova a metterle in .bashrc...
Azz io ho messo i miei file di configurazione in .profile e tutto
funziona perfettamente solo che io lavoro sotto bash .... non sapevo che
.profile fosse solo per tcsh sono un caso unico o e' normale che
.profile venga caricato anche da bash ?
-- 
Ciao
Fabio

 altri sistemi ;)
Bhe' i miei sw certo non invoglieranno molti allo switch piu' che altro
mi piacerebbe darli ad amici e conoscenti che ancora vivono nelle
tenebre di una vita con M$ e questo con Qt purtroppo diventa
dispendioso.
-- 
Ciao
Fabio

 .profile venga caricato anche da bash ?
afaik .profile *non* viene letto (anche se viene letto /etc/profile).
resta il fatto che anche se venisse letto, bash non capirebbe molti dei
comandi di tcsh (quasi tutti, a partire da setenv).
semmai se da tcsh viene lanciata bash, poi bash riceve tutte le
variabili di amniente settate in tcsh... imho e` qualcosa del genere che
accade.
-- 
#!/usr/bin/rik0


 wrote:

io dentro profile ci ho settato i comandi in linguaggio per bash pero'
sembrerebbe proprio che me lo legga ... mistero ... 
Eppure il terminale e' settato per far partire direttamente la bash e
poi uso una bash in effetti quindi non penso che passi da tcsh ... mah
...
 
-- 
Ciao
Fabio

 .profile fosse solo per tcsh
.profile non dovrebbe essere per la shell Korn? Comunque tcsh legge
.login e .tcshrc, non credo legga .profile.


 sembrerebbe proprio che me lo legga ... mistero ... 
ho detto una *STRONZATA* galattica.
tcsh legge .login
ed e` un bel po` di post che persevero nel mio errore.
al momento mi sto flagellando...





 .login e .tcshrc, non credo legga .profile.
infatti e' la bash che mi legge .profile e a quanto ho capito la cosa
non e' normale.
-- 
Ciao
Fabio

 al momento mi sto flagellando...
:-)
-- 
Ciao
Fabio