Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2003, 15:04   #1
skazzo
Senior Member
 
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
niubbo... Dev-c++ e id3lib...

Ciao a tutti!
mi sono cimentato nella programmazione in c++, e grazie a Dev-c++ e wxWindows costruire l'interfaccia grafica è stato abbastanza semplice...

Il problema nasce ora che devo aggiungere funzionalità come la lettura delle tag Id3 e degli OggVorbis Comments...
come faccio a includere in mamiera corretta le librerie?
finora, usando solo wxWindows, mi sono servito dei devpacks, per installare le librerie, e ora sono nella c@cc@!

dunque, ho provato a fare questo:
ho scaricato id3lib, versione sorgente e i binari per windows.
ho posizionato i binari nella cartella "lib", mentre i file della cartella "include" dei sorgenti l'ho copiata pari pari nella cartella "include" di dev c++, senza avere bisogno di linkare tali file nelle proprietà del progetto, e per averli disponibili per altre applicazioni.
inoltre, ho copiato la cartella "src" dei sorgenti nella cartella del mio progetto e rinominata "id3", per avere le funzioni di base (misc_support.cpp, contenente le funzioni per leggere le tag senza dover scrivere kilometri di roba).
fatto questo, ho aggiunto le seguenti righe nel file audiorun.h (praticamente il mio main.h):

#define ID3LIB_LINKOPTION 1
#include <id3/tag.h>
#include "id3/misc_support.h"

oltre agli altre include per wxwindows...
ed ecco la funzione incriminata:
Codice:
wxString
AppFrame::leggiTitolo(wxString percorso)
{
    char *titolo;
    wxString tmp;
    if (percorso.Right(4) == ".mp3")
    {
        //legge tag MP3
        //provo a leggere ID3v2
        ID3_Tag tagBrano(percorso);
        titolo = ID3_GetTitle(&tagBrano);
        if (NULL != &titolo)
        {
            //trovata ID3v2, restituisco il titolo
            return titolo;
        }
        else
        {
            //ID3v2 non trovata, provo con ID3v1
            tagBrano.Link("song.mp3", ID3TT_ID3V1);
            titolo = ID3_GetTitle(&tagBrano);
            if (NULL != &titolo)
            {
                //trovata ID3v1, restituisco il titolo
                return titolo;
            }
            else
            {
                //nessuna tag, uso il nome del file senza estensione
                tmp = percorso.AfterLast(char(92));
                tmp.Remove(tmp.Len() - 4);
                return tmp;
            }
        }
    }
    else if (percorso.Right(4) == ".ogg")
    {
    //legge commento OggVorbis
    tmp = percorso.AfterLast(char(92));
    tmp.Remove(tmp.Len() - 4);
    return tmp;
    }
}
ed ecco gli errori:
Codice:
[Linker error] undefined reference to `ID3_Tag::ID3_Tag(char const *)'
[Linker error] undefined reference to `ID3_GetTitle(ID3_Tag const *)'
[Linker error] undefined reference to `ID3_Tag::~ID3_Tag(void)'
[Linker error] undefined reference to `ID3_Tag::Link(char const *, unsigned short)'
[Linker error] undefined reference to `ID3_GetTitle(ID3_Tag const *)'
[Linker error] undefined reference to `ID3_Tag::~ID3_Tag(void)'
[Linker error] undefined reference to `ID3_Tag::~ID3_Tag(void)'
[Linker error] undefined reference to `ID3_Tag::~ID3_Tag(void)'
C:\Andrea\Mio\Cpp\AudioRun\Makefile.win [Build Error]  [AudioRun.exe] Error 1
che ho sbagliato?
è problema di codice, di installazione della libreria o che altro?
non è che magari esiste un devpack delle id3lib????
grazie per l'aiutone!!!!

ciao a tutti!
__________________
Blog - ROMsCat - Guida a GeexBox -
VENDO 1 - VENDO 2
skazzo è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2003, 18:14   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Nella libreria dovresti aver trovato anche dei file con estensione .lib...
Questi devono essere linkati al tuo eseguibile:

Project -> Project Options -> Parameters -> Add library or object

e ci aggiungi i .lib che ti servono...

Potrebbe nascere anche un problema sulla compatibilità del .lib con il compilatore MinGW...in tal caso dovresti ricompilare il sorgente della libreria e generare il .a (quivalente del .lib per MinGW)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 14:54   #3
skazzo
Senior Member
 
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
grazie!
aggiungendo la libreria per gli ogg ho rilevato lo stesso problema, e grazie al tuo aiuto l'ho risolto...
ma l'id3lib ancora non funziona, l'errore è sempre quello....provvederò a ricompilare la libreria... se trovo tutto il necessario... sto facendo un po' di casino con 'sti file!

ciao e grazie!
__________________
Blog - ROMsCat - Guida a GeexBox -
VENDO 1 - VENDO 2
skazzo è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2003, 10:41   #4
skazzo
Senior Member
 
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
help...
non riesco a capire come compilare la libreria...
posso creare un nuovo progetto con dev-c++ o è meglio che uso il make da riga di comando? se sì, mi dai (date) le direttive? con tutti sti switch ci capisco poco o niente...

ciao e grazie mille!
__________________
Blog - ROMsCat - Guida a GeexBox -
VENDO 1 - VENDO 2
skazzo è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 09:52   #5
skazzo
Senior Member
 
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
qualcuno sa darmi un riferimento per la guida del mingw o sa spiegarmi come faccio a ricompilare la libreria?
l'errore persiste...

ah, e magari conoscete un metodo migliore per leggere i commenti dei file ogg usando la libreria vorbisfile? quest'ltima pretende ch eil file sia già aperto e messo in stdin, ma io ho solo bisogno di leggere i commenti, per ora...
ciao!
__________________
Blog - ROMsCat - Guida a GeexBox -
VENDO 1 - VENDO 2
skazzo è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 13:50   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Magari se ci dai il link al sito della libreria da ricompilare
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 14:15   #7
skazzo
Senior Member
 
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
Quote:
Originariamente inviato da cionci
Magari se ci dai il link al sito della libreria da ricompilare
id3lib.sourceforge.net

credevo che conoscessi id3lib... sorry!

ciao e grazie!
__________________
Blog - ROMsCat - Guida a GeexBox -
VENDO 1 - VENDO 2
skazzo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
EHang VT35: debutta in Cina il nuovo aer...
Cooler Master MasterLiquid Atmos II 360:...
Trapela in rete la roadmap dei nuovi gio...
In Germania la prima centrale solare gal...
Iliad lancia TOP 250 PLUS e TOP 300 PLUS...
UE: nuovi standard per i caricabatterie,...
Fine supporto Windows 10: breve guida pr...
Cyber Arena Tour: WINDTRE BUSINESS porta...
Addio Microsoft Word: la Cina sceglie WP...
Nano Banana si espande: l’AI di Google p...
Che fare con i Tesla Cybertruck invendut...
Simucube 3 Sport, Pro e Ultimate ufficia...
Facebook rilancia le offerte di lavoro: ...
Hisense PT1: il cinema in casa con la po...
Pixel 10: come risolvere (forse) i crash...
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: 13:26.


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