Repository 32bit  Forum
Repository 64bit  Wiki

[solved]trovare le opzioni da passare al compilatore

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

[solved]trovare le opzioni da passare al compilatore

Messaggioda NicoMetal » mar ago 28, 2012 23:50

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?
Ultima modifica di NicoMetal il lun set 03, 2012 19:56, modificato 1 volta in totale.
Avatar utente
NicoMetal
Linux 2.4
Linux 2.4
 
Messaggi: 367
Iscritto il: dom mag 02, 2010 17:21
Località: Verona
Nome Cognome: Nicola
Slackware: 13.37
Kernel: 3.2.2
Desktop: FluxBox - xfce

Re: trovare le opzioni da passare al compilatore

Messaggioda 414N » mer ago 29, 2012 16:34

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
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2882
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: trovare le opzioni da passare al compilatore

Messaggioda fgcl2k » mer ago 29, 2012 20:27

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/
Avatar utente
fgcl2k
Linux 2.0
Linux 2.0
 
Messaggi: 131
Iscritto il: gio ott 29, 2009 10:14
Nome Cognome: Federico
Slackware: 14.1 (64bit)
Kernel: 3.10.17
Desktop: KDE 4.13.3

Re: trovare le opzioni da passare al compilatore

Messaggioda NicoMetal » ven ago 31, 2012 11:38

Grazie mille, disponibili ed efficaci come sempre!!!
Avatar utente
NicoMetal
Linux 2.4
Linux 2.4
 
Messaggi: 367
Iscritto il: dom mag 02, 2010 17:21
Località: Verona
Nome Cognome: Nicola
Slackware: 13.37
Kernel: 3.2.2
Desktop: FluxBox - xfce


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron