View Single Post
Old 08-07-2007, 09:43   #3
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da IW2NHL Guarda i messaggi
Ciao a tutti!

So che è una domanda molto specifica e particolare, ma non so più come risolvere questo problema, spero che qualcuno abbia qualche idea in merito!!!

Sto scrivendo un programma in C++ usando le librerie multipiattaforma Qt4.
In particolare devo leggere dei files XML e ho fatto un sistema a plugin che permette di scegliere il parse XML a run-time.
Per adesso ho scritto 2 plugin, uno che usa Xerces-c (il parser XML del progetto apache) e uno che usa QtXml (un modulo delle Qt4).

Quando l'esecuzione arriva su una particolare riga del programma ricevo un errore ed il programma esce (senza andare in crash).
La cosa strana è che l'errore esce solo se arrivo in quel punto facendo una particolare sequenza di operazioni, in tutti gli altri casi funziona benissimo!

L'errore è:
Codice:
my_program: symbol lookup error: libqtxml_plugin.so: undefined symbol: _ZN15QXmlInputSourceC1EP9QIODevice
Sto programmando su una Debian testing: ho provato su Windows 2000 e su una Slackware e il problema non si presenta.
Su Windows ho compilato con MinGW e sulla Slacware con una versione più vecchia di GCC di quella che ho sulla mia Debian, può essere un problema del nuovo GCC?

Non so dove cercare perché il codice apparentemente funziona bene e non andando in crash anche il debugger non mi da informazioni.

Qualcuno ha qualche idea in merito?

OS:
Linux Debian testing
Compilatore:
gcc (GCC) 4.1.3 20070601 (prerelease) (Debian 4.1.2-12)
CPU:
AMD AthlonXP 2200+
Kernel:
2.6.18-4-k7
io di solito quando ho problemi strani, per prima cosa faccio una trace del programma ... poi scrivo su hwu

Codice:
strace -f -F -s 1024 -o <trace.out> <eseguibile>
dubito possa servire a molto perchè parli di librerie, ma può sempre aiutare
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso