Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-05-2010, 13:57   #1
alfons
Junior Member
 
Iscritto dal: May 2010
Messaggi: 1
[c++] ld: undefined reference (non il solito banale errore)

salve a tutti!
ho un problema del quale non riesco a venire a capo

premetto che mi trovo su unix (freebsd). in un programma ho un binario che, tra le altre, dev'essere linkato a due librerie, A e B. la libreria B, di suo, e' gia' linkata alla libreria A, senza problemi
insomma, quando arrivo a linkare il binario, tutto fallisce riportando undefined references a simboli della libreria A. ho controllato tutti gli -rpath del caso, i percorsi sembrano tutti giusti... la mia sensazione e' che ci sia qualche problema nella compilazione/linkaggio della libreria A, per cui la B "crede" di esservisi linkata, ma poi quando deve effettivamente recuperarne i simboli non li trova. mi sono gia' trovato una volta in una situazione simile, ed il problema era proprio la libreria A, che era obsoleta. in questo caso pero' sono tutte parti dello stesso progetto...

aggiungo un dettaglio non trascurabile: compilando sulle qt 4.6 (si linkano anche ed esse) tutto funziona, il problema si presenta con la beta delle qt 4.7. ho cercato qualche differenza nelle macro: l'unica che mi sembra poter influire in qualche modo e' quella che setta la __visibility__, ma e' uguale in entrambe le versioni...

quindi: non so piu' dove sbattere la testa. non vi chiedo di risolvermi il problema, ma almeno di suggerirmi qualche strada da prendere, perche' su internet non trovo ne' spiegazioni dettagliate su come funziona un linker (ld, in questo caso), ne' risposte "alternative" (quelle classiche le conosco a memoria) al problema delle undefined references

e ora un piccolo estratto dal log

il linkaggio della libreria A:
Codice:
Linking CXX shared library libsoprano.so
cd /work/a/ports/textproc/soprano/work/soprano-2.4.63/soprano && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/soprano.dir/link.txt --verbose=1
/opt/c++ -fPIC -O2 -pipe -fno-strict-aliasing -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -shared -Wl,-soname,libsoprano.so.4 -o libsoprano.so.4.3.0 CMakeFiles/soprano.dir/queryresultiterator.cpp.o CMakeFiles/soprano.dir/queryresultiteratorbackend.cpp.o CMakeFiles/soprano.dir/node.cpp.o CMakeFiles/soprano.dir/statement.cpp.o CMakeFiles/soprano.dir/statementiterator.cpp.o CMakeFiles/soprano.dir/nodeiterator.cpp.o CMakeFiles/soprano.dir/model.cpp.o CMakeFiles/soprano.dir/parser.cpp.o CMakeFiles/soprano.dir/serializer.cpp.o CMakeFiles/soprano.dir/pluginmanager.cpp.o CMakeFiles/soprano.dir/pluginstub.cpp.o CMakeFiles/soprano.dir/plugin.cpp.o CMakeFiles/soprano.dir/qhashqurlcompat.cpp.o CMakeFiles/soprano.dir/backend.cpp.o CMakeFiles/soprano.dir/global.cpp.o CMakeFiles/soprano.dir/error.cpp.o CMakeFiles/soprano.dir/literalvalue.cpp.o CMakeFiles/soprano.dir/languagetag.cpp.o CMakeFiles/soprano.dir/locator.cpp.o CMakeFiles/soprano.dir/datetime.cpp.o CMakeFiles/soprano.dir/version.cpp.o CMakeFiles/soprano.dir/filtermodel.cpp.o CMakeFiles/soprano.dir/storagemodel.cpp.o CMakeFiles/soprano.dir/rdfschemamodel.cpp.o CMakeFiles/soprano.dir/bindingset.cpp.o CMakeFiles/soprano.dir/sopranotypes.cpp.o CMakeFiles/soprano.dir/graph.cpp.o CMakeFiles/soprano.dir/vocabulary/rdf.cpp.o CMakeFiles/soprano.dir/vocabulary/rdfs.cpp.o CMakeFiles/soprano.dir/vocabulary/xsd.cpp.o CMakeFiles/soprano.dir/vocabulary/nrl.cpp.o CMakeFiles/soprano.dir/vocabulary/nao.cpp.o CMakeFiles/soprano.dir/vocabulary/xesam.cpp.o CMakeFiles/soprano.dir/vocabulary/owl.cpp.o CMakeFiles/soprano.dir/query/query.cpp.o CMakeFiles/soprano.dir/query/queryparser.cpp.o CMakeFiles/soprano.dir/query/queryserializer.cpp.o CMakeFiles/soprano.dir/inference/nodepattern.cpp.o CMakeFiles/soprano.dir/inference/statementpattern.cpp.o CMakeFiles/soprano.dir/inference/inferencerule.cpp.o CMakeFiles/soprano.dir/inference/inferenceruleset.cpp.o CMakeFiles/soprano.dir/inference/sil.cpp.o CMakeFiles/soprano.dir/inference/inferencemodel.cpp.o CMakeFiles/soprano.dir/inference/inferenceruleparser.cpp.o CMakeFiles/soprano.dir/nrlmodel.cpp.o CMakeFiles/soprano.dir/inifile.cpp.o CMakeFiles/soprano.dir/desktopfile.cpp.o CMakeFiles/soprano.dir/sopranopluginfile.cpp.o CMakeFiles/soprano.dir/sopranodirs.cpp.o CMakeFiles/soprano.dir/util/extreadwritelock.cpp.o CMakeFiles/soprano.dir/util/mutexmodel.cpp.o CMakeFiles/soprano.dir/util/mutexstatementiteratorbackend.cpp.o CMakeFiles/soprano.dir/util/mutexnodeiteratorbackend.cpp.o CMakeFiles/soprano.dir/util/mutexqueryresultiteratorbackend.cpp.o CMakeFiles/soprano.dir/util/simplestatementiterator.cpp.o CMakeFiles/soprano.dir/util/simplenodeiterator.cpp.o CMakeFiles/soprano.dir/util/dummymodel.cpp.o CMakeFiles/soprano.dir/util/signalcachemodel.cpp.o CMakeFiles/soprano.dir/util/readonlymodel.cpp.o CMakeFiles/soprano.dir/util/asyncmodel.cpp.o CMakeFiles/soprano.dir/util/asyncresult.cpp.o CMakeFiles/soprano.dir/util/asynccommand.cpp.o CMakeFiles/soprano.dir/util/asynciteratorbackend.cpp.o CMakeFiles/soprano.dir/util/asyncquery.cpp.o /usr/local/lib/qt4/libQtCore.so -pthread -Wl,-rpath,/usr/local/lib/qt4:::::::::::::::
il linkaggio della libreria B:
Codice:
Linking CXX shared library libsopranoserver.so
cd /work/a/ports/textproc/soprano/work/soprano-2.4.63/server && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/sopranoserver.dir/link.txt --verbose=1
/opt/c++ -fPIC -O2 -pipe -fno-strict-aliasing -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -shared -Wl,-soname,libsopranoserver.so.1 -o libsopranoserver.so.1.2.0 CMakeFiles/sopranoserver.dir/servercore.cpp.o CMakeFiles/sopranoserver.dir/serverconnection.cpp.o CMakeFiles/sopranoserver.dir/modelpool.cpp.o CMakeFiles/sopranoserver.dir/randomgenerator.cpp.o CMakeFiles/sopranoserver.dir/datastream.cpp.o CMakeFiles/sopranoserver.dir/localserver.cpp.o CMakeFiles/sopranoserver.dir/tcpserver.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusutil.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusmodeladaptor.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusexportiterator.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusexportmodel.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusstatementiteratoradaptor.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusnodeiteratoradaptor.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusqueryresultiteratoradaptor.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusserveradaptor.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbuscontroller.cpp.o CMakeFiles/sopranoserver.dir/dbus/dbusoperators.cpp.o /usr/local/lib/qt4/libQtCore.so -pthread /usr/local/lib/qt4/libQtNetwork.so ../soprano/libsoprano.so.4.3.0 /usr/local/lib/qt4/libQtDBus.so /usr/local/lib/qt4/libQtCore.so -pthread -Wl,-rpath,/usr/local/lib/qt4:/work/a/ports/textproc/soprano/work/soprano-2.4.63/soprano:
e, infine, il linkaggio del binario:
Codice:
Linking CXX executable sopranod
cd /work/a/ports/textproc/soprano/work/soprano-2.4.63/server && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/sopranod.dir/link.txt --verbose=1
/opt/c++ -O2 -pipe -fno-strict-aliasing -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden CMakeFiles/sopranod.dir/sopranod.cpp.o CMakeFiles/sopranod.dir/sopranodcore.cpp.o CMakeFiles/sopranod.dir/lockfile.cpp.o -o sopranod ../soprano/libsoprano.so.4.3.0 libsopranoserver.so.1.2.0 ../index/libsopranoindex.so.1.1.0 /usr/local/lib/qt4/libQtNetwork.so /usr/local/lib/qt4/libQtDBus.so ../soprano/libsoprano.so.4.3.0 /usr/local/lib/qt4/libQtCore.so -pthread /usr/local/lib/libclucene.so -Wl,-rpath,/work/a/ports/textproc/soprano/work/soprano-2.4.63/soprano:/work/a/ports/textproc/soprano/work/soprano-2.4.63/server:/work/a/ports/textproc/soprano/work/soprano-2.4.63/index:/usr/local/lib/qt4:/usr/local/lib:
CMakeFiles/sopranod.dir/sopranod.cpp.o(.text+0x5b): In function `usage()':
: undefined reference to `Soprano::versionString()'
CMakeFiles/sopranod.dir/sopranodcore.cpp.o(.gnu.linkonce.r._ZTV12SopranodCore+0x58): undefined reference to `Soprano::Error::ErrorCache::lastError() const'
libsopranoserver.so.1.2.0: undefined reference to `Soprano::Error::ErrorCache::ErrorCache()'
...e cosi' via...

grazie a chiunque volesse interessarsi al mio problema!

Ultima modifica di alfons : 27-05-2010 alle 18:51.
alfons è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Minori sessualizzati da Grok: l'UE mette...
NIO stabilisce il nuovo record di scambi...
Dell Private Cloud sempre più ape...
Ennesimo incidente per la guida autonoma...
Dopo le maniglie, è il turno dei ...
Addio incendi incontrollati? Svolt dice ...
WINDTRE si mette in proprio: vender&agra...
The Mandalorian & Grogu: il trailer ...
OpenClaw sotto attacco: i malware infost...
Resident Evil Requiem: pre-load dal 25 f...
Vaticano, la Messa si traduce in 60 ling...
Kia prepara il facelift della Kia EV5: n...
La nuova Alpine A110 elettrica sfrutterà...
Il nuovo entry level della gamma MacBook...
Panasonic 55'' QLED con Dolby Vision e F...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v