aiuto compilazione file C

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
bobosky
Prode Principiante
Messaggi: 3
Iscrizione: venerdì 1 giugno 2007, 18:42

aiuto compilazione file C

Messaggio da bobosky »

Salve! mi sono appena iscritto sperando che qualcuno di voi possa aiutarmi con la compilazione di un file C

Allora il mio file si chiama rxx.c che al suo interno include alcune librerie e vabè. Attualmente compilo il programma con il seguente comando

Codice: Seleziona tutto

 gcc -o rxx  `pkg-config --cflags libxx` rxx.c `pkg-config --libs libxx` 
e finquì tutto bene. Ora però ho creato una libreria libgo.c con i relativi file .o e .a che vorrei aggiungere a rxx.c 
Per cui ho incluso nel file rxx.c il nuovo header  libgo.h.
Ora però per compilare, eseguendo il comando di prima, ottengo degli errori che evidentemente son dovuti alla nuova libreria aggiunta. Mi dite che cosa devo aggiungere al comando di prima per poter compilare? 
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: aiuto compilazione file C

Messaggio da bite »

Se la tua libreria sta in /pippo/pluto/libpaperino.so, prova ad aggiungere -L/pippo/pluto -lpaperino al tuo comando.
bobosky
Prode Principiante
Messaggi: 3
Iscrizione: venerdì 1 giugno 2007, 18:42

Re: aiuto compilazione file C

Messaggio da bobosky »

Ciao byte grazie per la risposta. Allora ho aggiunto le voci che mi hai detto ma ora ottengo questo errore

Codice: Seleziona tutto

rxxb.c: In function ‘post’:
rxxb.c:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’
Ora essendo la mia prima libreria, mi sa che mi è sfuggito qualcosa nel crearla. Avrei le seguenti domande


1) ho creato la libreria libgo.h e la sua implementazione libgo.c. Devo includere libgo.h in libgo.c ?
2) Nel file libgo.h posso dichiarare strutture dati che poi saranno usate nei miei programmi ?
3) nei parametri delle funzioni dichiarate in libgo.h devo specificare solo il tipo di dato che accetta o anche il nome del parametro ?
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: aiuto compilazione file C

Messaggio da bite »

bobosky ha scritto: 1) ho creato la libreria libgo.h e la sua implementazione libgo.c. Devo includere libgo.h in libgo.c ?
2) Nel file libgo.h posso dichiarare strutture dati che poi saranno usate nei miei programmi ?
3) nei parametri delle funzioni dichiarate in libgo.h devo specificare solo il tipo di dato che accetta o anche il nome del parametro ?
Se hai di questi dubbi, probabilmente è troppo presto per te pensare di scrivere una libreria. Comunque:
1) Se tutte le funzioni della libreria sono indipendenti tra loro (improbabile) non è indispensabile includere il .h. Se invece le funzioni si richiamano l'una con l'altra, o se fanno uso di strutture dati specifiche dichiarate nel .h, allora è necessario includerlo. Insomma, nulla di diverso rispetto ad un programma normale.
2) sì.
3) il nome è opzionale, può essere utile come mnemonico e non deve necessariamente coincidere con il nome del parametro che poi gli passerai quando chiami la funzione.

Ti consiglio di leggere il Program-Library-HOWTO che, installando il pacchetto doc-linux-text, va a finire in /usr/share/doc/HOWTO/en-txt. Ce n'è anche una versione html, ma purtroppo temo che non sia stato tradotto in Italiano.

Buon lavoro/divertimento.
bobosky
Prode Principiante
Messaggi: 3
Iscrizione: venerdì 1 giugno 2007, 18:42

Re: aiuto compilazione file C

Messaggio da bobosky »

Si grazie mille era proprio quello che mi mancava. Su internet non sono riuscito a trovare una guida decente
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti