|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
[C] aiuto! non riesco ad installare una libreria su Dev-Cpp!
Salve a tutti,
ho da poco iniziato a programmare e avevo in mente un programma veloce che mi indicizzasse tutti gli hard disk del computer alla ricerca di file mp3 e salvasse su un file di testo tutti i relativi file mp3 leggendo artista e titolo del brano da tag ID3. Ho cercato in internet ed ho trovato una libreria per utilizzare le funzionalità degli ID3 su C, però non so da dove partire per installarla sul mio Dev-Cpp... installando solo gli include naturalmente non funziona, e volevo chiedervi una mano per l'installazione, perchè sul file INSTALL che c'è dentro l'archivio è spiegato ma io non ho dimestichezza con i "make" o i "configure" e non ho proprio capito come fare ...io uso il Dev-Cpp su Windows XP. Un'altra cosa: come posso realizzare la parte relativa agli hard disk del programma? Conosco alcune funzioni su dos.h come _getdiskfree ma non saprei proprio come far capire al programma quanti hard disk ci sono in un computer e come ciclarmi lo scanning delle cartelle e sottocartelle...avete qualche idea? Ringrazio anticipatamente! i link per scaricare le librerie sono 1. http://heanet.dl.sourceforge.net/sou...b-3.8.3.tar.gz (platform independent) 2. http://ovh.dl.sourceforge.net/source....3binaries.zip win32 (neanche questo so come utilizzarlo su Dev-Cpp) |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Purtroppo devi proprio fare così...
Scarica questo: http://prdownloads.sourceforge.net/m...1.exe?download E questo: http://prdownloads.sourceforge.net/m...0.exe?download Installa il tutto e ti troverai una shell in stile unix... Tramite quella shell posizionati nella dir interessata (va anche impostata la directory dove hai installato il gcc, che è dentro Dev-C++, ma non mi ricordo come si fa)... Esegui: ./configure make E ti dovrebbe create un file chiamato libid3.a, questo file lo devi linkare al tuo progetto tramite le opzioni del linker di Dev-C++... Per usare le funzioni della libreria devi anche includere il giusto .h nel sorgente dove vuoi usare quelle funzioni... |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Ok, sto scaricando, sto mettendo sotto torchio il povero 56k...ci vorrà un pò...
Ascolta, installo i file dopodichè avrò a che fare con una shell di comando stile "cmd" di windows? E lì poi scrivo subito ./configure e fa tutto lui? Mi dispiace ma questa cosa non l'ho davvero mai mai fatta e non so proprio da dove partire!! Grazie x l'aiuto! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se hai tutte le librerie adatte farà tutto lui...
Poi devi lanciare make... |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Ho provato, ecco cosa mi esce con MSYS:
Codice PHP:
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Metti la directory dove c'è gcc.exe (C:\Dev-Cpp\bin) nella variabile PATH di Windows: Proprietà su Risorse del Computer -> Avanzate -> Variabili d'ambiente: aggiungi C:\Dev-Cpp\bin alla variabile path del tuo utente...
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Ok, fatto, adesso il configure funziona.
Però macina un pò e ad un certo punto mi arriva qui: Codice PHP:
Altre idee? Grazie x l'aiuto che mi hai dato finora! |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Significa che manca una funzione importante per questa id3lib. Al momento non so quale sia, ma comunque, se stai usando Cygwin (credo di aver capito bene), senza spostarti dalla cartella da cui hai lanciato ./configure, digita usa "less config.log" per leggere l'output completo di ./configure. Dovresti trovare ad un certo punto la scritta "missing a vital function" et cetera, seguita dall'output che ha generato l'errore. Probabilmente si tratta di una funzione mancante in una libreria dalla quale id3lib dipende direttamente.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Suppongo sia questa: checking for truncate... no
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
EDIT: forse è questa? - http://linux.about.com/library/cmd/blcmdl2_truncate.htm - http://www.linuxinfor.com/english/man2/truncate.html - http://docs.linux.cz/programming/c/w...File-Size.html Mi sa che ti devi installare libc (o glibc).
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' quella... Non sta usando Cygwin, ma MingW MSYS...
Per la truncate, la puoi implementare in questo modo: #include <io.h> #define truncate(F,S,P) _chsize(F,S) Lo devi mettere in tutti i file .c o .cpp che usano la truncate...oppure lo metti nel .h che tutti i .c o .cpp usano... |
|
|
|
|
|
#12 | |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Niente da fare, ho provato a mettere tutto nel file id3.h, ho provato a metterlo in ogni singolo include e mi dà lo stesso errore...
stavolta mi sono salvato il log così potete dargli un'occhiata voi, ad un certo punto richiama le funzioni mkstemp e truncate e non va più avanti... ho messo il log in allegato
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Azzz...scusa... Bisogna modificare anche configure.in per non richiedere più la truncate...
Aspetta guardo come fare... |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi modificare il configure.in qui:
AC_CHECK_FUNCS( truncate \ ,,AC_MSG_ERROR([Missing a vital function for id3lib]) ) Devi commentare queste 4 linee con #... Dopo devi richiamare autoconf per generare il configure... Il problema è che mi da un errore a questo punto...e sinceramente nons aprei da quale parte rifarmi... ./config.status: line 399: syntax error near unexpected token `\"' ./config.status: line 399: ` "\" ) CONFIG_FILES="$CONFIG_FILES \" ;;' Non sono un esperto di autoconf |
|
|
|
|
|
#16 | |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Quote:
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
In pratica sì...ma quando lo vai a rilanciare da quell'errore verso la fine...
|
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
alla fine ho cercato un'altra libreria x i tag ID3 e ne ho trovata una più leggera che si chiama mplib.
Configure fatto bene, fatto bene anche il make, fatto il make install con questo log: Codice:
/*
aa@PORT /c/mplib
$ make install
Making install in src
make[1]: Entering directory `/c/mplib/src'
make[2]: Entering directory `/c/mplib/src'
test -z "c:/Dev-Cpp/lib" || mkdir -p -- "c:/Dev-Cpp/lib"
/bin/sh ../libtool --mode=install /bin/install -c 'libmp.la' 'c:/Dev-Cpp/lib/libmp.la'
/bin/install -c .libs/libmp.lai c:/Dev-Cpp/lib/libmp.la
/bin/install -c .libs/libmp.a c:/Dev-Cpp/lib/libmp.a
ranlib c:/Dev-Cpp/lib/libmp.a
chmod 644 c:/Dev-Cpp/lib/libmp.a
----------------------------------------------------------------------
Libraries have been installed in:
c:/Dev-Cpp/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-LLIBDIR' linker flag
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "c:/Dev-Cpp/include" || mkdir -p -- "c:/Dev-Cpp/include"
/bin/install -c -m 644 'mplib.h' 'c:/Dev-Cpp/include/mplib.h'
make[2]: Leaving directory `/c/mplib/src'
make[1]: Leaving directory `/c/mplib/src'
make[1]: Entering directory `/c/mplib'
make[2]: Entering directory `/c/mplib'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/c/mplib'
make[1]: Leaving directory `/c/mplib'
*/
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Devi linkare libmp.a al tuo progetto...
Opzioni Progetto -> Parametri -> Linker...aggiungi -llibmp |
|
|
|
|
|
#20 |
|
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
grandioso, ora va a meraviglia!
Il problema era che non sono abituato a creare progetti ma solo singoli file sorgenti...quindi non sapevo proprio cosa fare x linkare la libreria! Grazie mille per tutti i tuoi aiuti!!!
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:35.










...io uso il Dev-Cpp su Windows XP. 








