Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
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.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-07-2010, 13:00   #1
vendicatorex
Member
 
Iscritto dal: Dec 2007
Messaggi: 38
Problema linkaggio libreria con eclipse

Salve ho un codice scritto in c++ che non riesco a compilare con eclipse. Il codice non ha problemi in quanto riesco a compilarlo a riga di comando con ubuntu. Il problema è che il codice fa uso di una libreria esterna di nome JTC. Quando tento di compilare con Eclipse mi si presentano i seguenti errori
Codice:
**** Build of configuration Debug for project Barriera ****

make all 
Building target: Barriera
Invoking: GCC C++ Linker
g++ -Lpthread -o"Barriera"  ./barrieramia.o   -lJTC
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(Thread.o): In function `JTCThread::start()':
Thread.cpp:(.text+0x1b94): undefined reference to `pthread_attr_setstacksize'
Thread.cpp:(.text+0x1bc3): undefined reference to `pthread_create'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(Thread.o): In function `JTCThread::exit_hook()':
Thread.cpp:(.text+0x2f2f): undefined reference to `pthread_detach'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(TSS.o): In function `JTCTSS::get(unsigned int)':
TSS.cpp:(.text+0x3d): undefined reference to `pthread_getspecific'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(TSS.o): In function `JTCTSS::allocate(void (*)(void*))':
TSS.cpp:(.text+0x5f): undefined reference to `pthread_key_create'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(TSS.o): In function `JTCTSS::allocate()':
TSS.cpp:(.text+0x639): undefined reference to `pthread_key_create'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(TSS.o): In function `JTCTSS::set(unsigned int, void*)':
TSS.cpp:(.text+0xc0e): undefined reference to `pthread_setspecific'
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/libJTC.a(TSS.o): In function `JTCTSS::release(unsigned int)':
TSS.cpp:(.text+0x12b2): undefined reference to `pthread_key_delete'
collect2: ld returned 1 exit status
make: *** [Barriera] Errore 1
aggiungo che ho già provveduto ad entrare nelle proprietà del progetto e seguendo il percorso C/C++ Build->Settings poi GCC C++ Linker dentro "Libraries(-l)" ho inserito "JTC" mentre dentro "Library search path(-L)" ho inserito "pthread"

Non capisco esattamente quale sia il problema però ho osservato che il comando invocato da eclipse è
Codice:
g++ -Lpthread -o"Barriera"  ./barrieramia.o   -lJTC
mentre quello funzionante che invoco manualmente da console di ubuntu è
Codice:
g++ -o maxbarrieramia maxbarrieramia.cpp -lJTC -lpthread
spero che qualcuno che conosce questa libreria ed eclipse possa aiutarmi
vendicatorex è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 13:53   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da vendicatorex Guarda i messaggi
aggiungo che ho già provveduto ad entrare nelle proprietà del progetto e seguendo il percorso C/C++ Build->Settings poi GCC C++ Linker dentro "Libraries(-l)" ho inserito "JTC" mentre dentro "Library search path(-L)" ho inserito "pthread"

Non capisco esattamente quale sia il problema però ho osservato che il comando invocato da eclipse è
Codice:
g++ -Lpthread -o"Barriera"  ./barrieramia.o   -lJTC
mentre quello funzionante che invoco manualmente da console di ubuntu è
Codice:
g++ -o maxbarrieramia maxbarrieramia.cpp -lJTC -lpthread
spero che qualcuno che conosce questa libreria ed eclipse possa aiutarmi
io tutta sta gente che usa eclipse per programmare in C++ non la capisco

COMUNQUE. il problema mi sembra evidente no? stai passando "pthread" all'opzione -L anziché -l.

EDIT - mi spiego meglio: specificando una cartella inesistente di nome "pthread" come search path, rendi impossibile la ricerca della libreria JTC.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 15:40   #3
vendicatorex
Member
 
Iscritto dal: Dec 2007
Messaggi: 38
Grazie era proprio questo il problema
comunque non ci vedo nulla di strano ad utilizzare eclipse con c++ a me piace molto e per una mia curiosità quale sarebbe secondo te la piattaforma giusta per c++
vendicatorex è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 15:49   #4
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
il fatto é che io non credo minimamente nella storia degli IDE cross-language, i diversi linguaggi di programmazione hanno necessariamente bisogno di strumenti grafici specifici, infatti quando si usa il CDT in eclipse restano molte "appendici" inutilizzate: ora magari non saró aggiornatissimo sulla situazione, ma quando io l'ho provato gli strumenti di refactoring di eclipse erano praticamente tutti non funzionanti.

se si cerca di realizzare un IDE cross-language viene fuori come minimo un software troppo complicato, e giá non é che sia facile oggi realizzare un IDE "standard".

detto questo, che io sappia il mondo Linux é carente di IDE per C/C++: se programmo su Windows uso Visual C++ senza pensarci due volte, ma temo che per Linux il meglio che ci sia sia Code::Blocks... :S
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 16:28   #5
vendicatorex
Member
 
Iscritto dal: Dec 2007
Messaggi: 38
Capisco...rimane comunque questione di gusti per esempio a me non è piaciuto molto visual C++ anche se a dire il vero l'ho usato poco, mentre invece ho trovato carino codeblocks, quello che continuo a preferire è comunque eclipse che ha sicuramente dei difetti ma almeno con le nuove versioni non mi ha mai dato grossi problemi
vendicatorex è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 17:54   #6
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
ma intendiamoci, io mi trovo benissimo in eclipse, ma lo uso esclusivamente per Java: non potrei mai dire che mi trovo benissimo a programmare in C++ in eclipse (lo dico invece per Visual C++).
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2010, 19:18   #7
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da fero86 Guarda i messaggi
detto questo, che io sappia il mondo Linux é carente di IDE per C/C++: se programmo su Windows uso Visual C++ senza pensarci due volte, ma temo che per Linux il meglio che ci sia sia Code::Blocks... :S
Se sviluppi su Linux si intende che sviluppi anche per Linux: in quel caso puoi agilmente ricorrere ad Anjuta (per GTK+) o KDevelop (per Qt/KDE), con tutti gli strumenti del caso, template di progetti già fatti, script per la distribuzione dei pacchetti, etc...
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2010, 23:36   #8
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da fero86 Guarda i messaggi
se si cerca di realizzare un IDE cross-language viene fuori come minimo un software troppo complicato, e giá non é che sia facile oggi realizzare un IDE "standard".
eclipse non e' un editor monolitico visto che senza plugin appositi non supporta alcun linguaggio. Diciamo che e' piu' un ambiente di sviluppo per scrivere IDE
Il plugin per C++ e' sempre stato meno sviluppato di quello per Java, da qui le carenze.

Questo detto ci sono diversi motivi per cui uno potrebbe decidere di usarlo. Ad esempio e' cross-platform (a differenza di VS), ci sono diversi strumenti opensource e no per estenderlo in vari modi (e.g. sviluppo model based).
Senza contare che ormai diversi ambienti real-time commerciali (QNX e VxWorks in primis) hanno il loro ambiente di sviluppo che gira in eclipse. Direi che la scelta non e' cosi' scontata...
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
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...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
Xbox: Phil Spencer lascia dopo 38 anni, ...
Cuffie e sostanze chimiche: uno studio e...
Terremoto sui dazi USA: la Corte Suprema...
Arianespace potrebbe lanciare il primo r...
Google Pixel 10a disponibile al prezzo m...
Microsoft Copilot nei guai: email riserv...
AOC a 399€ su Amazon: QD-OLED 240 Hz e 0...
La Cina ha recuperato dal mare il primo ...
Boeing CST-100 Starliner: la NASA rende ...
hiop e TaDa uniscono le forze per trasfo...
Thermal Grizzly mostra il Ryzen 7 9850X3...
AMD Ryzen 'Olympic Ridge' Zen 6 per desk...
Donald Trump renderà pubbliche in...
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: 10:04.


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