Pagina 1 di 1

[solved]trovare le opzioni da passare al compilatore

Inviato: mer 29 ago 2012, 0:50
da NicoMetal
Sto imparando a usare le librerie allegro5 in c ma c'è solo un piccolo ostacolo che non riesco a superare per ora:
a volte nel implementare certe librerie devo passare anche al compilatore determinate opzioni. Precisamente come faccio a sapere quali sono? Ci sarà pur scritto da qualche parte
nei sorgenti o no?

Re: trovare le opzioni da passare al compilatore

Inviato: mer 29 ago 2012, 17:34
da 414N
Dipende da come hai impostato la situazione.
Hai installato allegro5 a livello system-wide, con header files in /usr/include e librerie in /usr/lib[64]?
In questo caso, dovresti solo indicare il nome della libreria tramite il flag -l di gcc.
Per esempio, se devi effettuare il linking alla libreria libpincopallo.so in /usr/lib[64] ti basta indicarlo così:

Codice: Seleziona tutto

-lpincopallo
Qualora non avessi installato allegro a livello system-wide, allora potresti aver bisogno di specificare altre opzioni, quali il path per gli header files (opzione -I di gcc) e il path per le librerie (opzione -L di gcc). Supponendo che tu abbia posto i file di allegro in ~/allegro e che gli include e le librerie si trovino, rispettivamente, in sottodirectory nominate include/ e lib/, allora per effettuare il link alla già sopracitata libpincopallo.so dovresti usare i seguenti flag:

Codice: Seleziona tutto

-I~/allegro/include -L~/allegro/lib -lpincopallo

Re: trovare le opzioni da passare al compilatore

Inviato: mer 29 ago 2012, 21:27
da fgcl2k
In aggiunta a quanto già risposto, se hai installato sistem-wide e se la tua libreria dispone di un file di configurazione adatto puoi usare pkg-config.

Codice: Seleziona tutto

$ pkg-config --list-all
elenca tutte le librerie configurate; così puoi scoprire se allegro è presente.
Con

Codice: Seleziona tutto

$ pkg-config --libs nomelibreria

Codice: Seleziona tutto

$ pkg-config --cflags nomelibreria
trovi le opzioni per il compilatore.
Per esempio:

Codice: Seleziona tutto

$ gcc `pkg-config --cflags --libs nomelibreria` main.c
Nota: i file di configurazione si trovano solitamente in /usr/lib/pkgconfig/ o /usr/lib64/pkgconfig/

Re: trovare le opzioni da passare al compilatore

Inviato: ven 31 ago 2012, 12:38
da NicoMetal
Grazie mille, disponibili ed efficaci come sempre!!!