Vai al contenuto

VTK in C++


Messaggio consigliato

Buonasera, apro questo thread per non intasare quelli di aiuto generico, e perché passata la fase di blocco iniziale che personalmente mi riguarda credo possa essere interessante per diversi incompetenti come me.

Avrei bisogno di un paio di dritte per l'uso delle VTK, per cominciare mi servirebbe qualche baldo giovanotto (non faccio nomi, ma ho un paio di candidati in mente :mrgreen:) che mi sveli un arcano: installati librerie e header sulla mia Ubuntu 8.04 le suddette VTK, devo prendere accorgimenti particolari per far sì che la mia IDE le utilizzi? Al momento provo a dare un compile a un programmino molto semplice fatto solo per scaldarmi e per provare, ma Anjuta mi dice che non trova i vari Vtk"quellocheserve".h al momento delle inclusioni iniziali, a.k.a. (supppongo) devo dire a qualcuno di considerare le VTK tra i plausibili include.

Ideas?

Non è imprescindibile l'uso dell'IDE, anzi, solo vorrei poterlo utilizzare quando mi servirà esseremolto efficiente e produttivo in periodi di "vacche magre".

EDIT: Verificato, e con il metodo Emacs -> make -k Nome_File -> g++ Nome_File -o Nome_Eseguibile funge. Crea sì l'eseguibile, ma se poi provo a farlo andare (ad esempio con gdb) non funge. Confermo che il mio pc non usa le librerie che gli ho installato con tanto amore.

Stron*etto che non è altro.

Link al commento
Condividi su altri siti

  • Risposte 31
  • Creato
  • Ultima risposta

Principali partecipanti

Principali partecipanti

Immagini inviate

Ospite DeathFromAbove

Caro Aerys,

allora, conta che con gli IDE ho un pò di allergie, ti consiglio di utilizzare (o fare amicizia :rolleyes:) con i cari e potentissimi Makefile.

Se vuoi posso postare uno scheletro con cui iniziare.

Per compilare VTK ti serve G++ immagino.

Allora devi utilizzare i flag di compilazione:

  1. -I directory Es [ -I/usr/local/VTK/include ] per dire al compilatore dove sono i .h
  2. -L directory Es [ -L/usr/local/VTK/lib ] per dire dove sono le librerie
  3. -l nome lib per dire quale lib ti serve. La libreria libvtk.so la devi elencare come -lvtk
  4. Anyuta non mi ha mai funzionato. Ti consiglio NetBeans.

Probabilmente dovrai specificare nel progetto directory di include e librerie, per farle vedere all'IDE.

Link al commento
Condividi su altri siti

Anjuta è una schifosa, devo dire... Praticamente tu mi dici di usare #include "tuttoilpercorso/funzione.h", oppure dare i parametri al compilatore.

Se lo volessi fare da Emacs io quindi una volta scelto dal menù di compilare dovrei dare un

g++ -I /usr/local/quellocheè -L /usr/local/quellocheè2 -lvtk nomefile.cpp -o nomefile

Right?

Link al commento
Condividi su altri siti

Ospite DeathFromAbove

Aerys,

costruisci un makefile.

Te ne improvviso uno...

Nomefile: Makefile

#############################

### Aerys Makefile

#############################

all: vtk_bin

vtk_bin: primo.o secondo.o main.o

[TAB]g++ -o vtk_bin -L/usr/local/vtk/lib -lvtk -lstd -lm main.o primo.o secondo.o

primo.o: primo.h

[TAB]g++ -I/usr/local/vtk/include -o primo.o primo.cpp

secondo.o: secondo.h

[TAB]g++ -I/usr/local/vtk/include -o secondo.o secondo.cpp

main.o: main.h

[TAB]g++ -I/usr/local/vtk/include -o main.o main.cpp

EDIT: non ho fatto variabili nel Makefile, per renderlo più leggibile.

[TAB] indica il carattere tab. Niente spazi. Altrimenti il make non funziona.

Una volta fatto, basta fare da riga di comando "make" e ti ritroverai un eseguibile vtk_bin. Fast and simple!

Questo è molto semplice. Con un pò di esperienza puoi creare mostri. Altro che IDE!!!

Se vuoi posso spiegare un pò la sintassi... ma adesso sono pigro :-p

Link al commento
Condividi su altri siti

La IDE come dicevo la schiverei, e ora che ho appreso dei Makefile non mi resta che scrivere il primo dei miei. :-)

Secondo me Emacs può tutto.

Detto questo, intanto compilo le VTK per Windows.

controlla se puoi usare pkg-config, semplifica non poco la vita
Link al commento
Condividi su altri siti

Ciao invece di impazzire dietro ai makefile sarebbe meglio utilizzare cmake. A meno che tu ovviamente non sia un virtuoso dei makefile nel qual caso non dovresti avere problemi.

cmake gira sia sotto windows che sotto linux. Lo uso abitualmente a lavoro. Tu crei un file chiamato cmakelists.txt. Che ha una struttura molto sempliice Poi usando cmake puoi generare automaticamente un signor makefile.

Io come ide uso eclipse e ci compilo tranquillamente sia le vtk che le itk (+ le itk per ragioni di lavoro). Cmq cmake funziona anche sotto windows e ti genera dei progetti per Visual C. E' tanto che non lo uso sotto windws ma sicuramente adesso genererà progetti anche per il .net.

Così con un solo file cmakelist in cui vai a mettere cosa vuoi compilare puoi generare un progetto sia per linux che per windows.

Ora purtroppo su questo pc non ho degli esempi di cmakelists. Ma se vuoi dopo prendo il portatile e te li posso mandare.

Link al commento
Condividi su altri siti

Appena posso ti mando qualcosa in pm con anche qualche spiegazione. Cmq cmake è semplicissimo da usare.

@Dusdan:

Ormai sono decisamente affezionato a programare con eclipse anche in c++ . Inoltre i tool per il controllo versione graficamente mi piacciono di + di quelli degli altri ide.

Ma altrimenti cosa consiglieresti? Netbeans dico subito che non lo amo troppo (e poi anche quello è pensato per java). Kdevelop o come cavolo si chiama non l'ho mai provto ma a volte ho letto commenti non troppo entusiasti.

Ah ovviamente escludo emacs. L'ho usato per anni. Ha i suoi vantaggi/particolarità però sinceramente mi trovo meglio con gli altri ide.

Link al commento
Condividi su altri siti

Ospite DeathFromAbove

Ma, io sconsiglio soluzioni del tipo ibrido.

Se devi imparare, impara subito i make.

Aerys,

da come rispondi compilerai con 4-5 metodi diversi... sei sicuro di sapere quello che fai?? :-D

Link al commento
Condividi su altri siti

Eh, da un lato so benissimo che hai ragione, ma dall'altro devo fare casini! Voglio dire, ho resa necessaria la prima riconfigurazione (allìepoca non si formattava mai) di un pc a quattro o cinque anni, credo nel 1989, e poi nonostante non mi sia potuto dedicare come volevo all'informatica ho sempre fatto ca**ate, quindi anche questa volta so già che finirà in tragedia! :lol:

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente registrato per poter lasciare un commento

Crea un account

Crea un nuovo account e registrati nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.
 

Accedi ora
×
×
  • Crea nuovo...