|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 446
|
Makefile
Forse ho sbagliao sezione però io ci tento
![]() Ho linux suse 7.1 e il mio problema è come azzo devo fare per creare sto benedetto makefile e dove metterlo. In pratica io lancio il programma Vim, scrivo il mio programmino in c++ lo salvo e sempre in vim lancio il comando make, ma mi appare una scritta che mi dice che manca il file makefile. Sono un super ignorante di linux quindi abbiate compassione di me ![]() ![]() Agenio |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Il Makefile (occhio alle minuscole e alle maiuscole) va messo nella stessa directory dei sorgenti. La sintassi è molto simile a quella di uno script per shell unix. Per la sintassi esatta puoi guardare su google ci sono milioni di howto e guide su come creare dei makefile.
se hai ancora dubbi chiedi pure. ciao ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 446
|
ma se ho capito bene bisogna fare un Makefile per ogni programma che si vuole compilare oppure ne basta uno per tutti
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
![]() ciao ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Ecco un howto molto basilare su come fare un makefile per i tuoi progetti -- quello che devi fare è impostare correttamente TARGET e OBJECTS; più raramente le altre opzioni: Codice:
CC=gcc CXX=g++ # Opzioni di ottimizzazione per gcc -- inserisci quelle che vuoi. # Queste sono normalmente sufficienti: CFLAGS=-O2 -g # Opzioni di ottimizzazione per g++ -- puoi aggiungere quelle che vuoi CXXFLAGS=${CFLAGS} -felide-constructors # Opzioni per il preprocessore. Normalmente non servono. Può essere usato # per includere directory al path degli include, o definire macro. Ad esempio: # CPPFLAGS=-I/opt/include -DDEBUG # Opzioni per il linker. Qui puoi indicare le librerie aggiuntive necessarie ed eventuali # path di ricerca non standard delle librerie. # Ricorda di aggiungere: # -lm se usi funzioni in virgola mobile (sin, cos...) # -lstdc++ se usi codice c++ # -lpthread se usi i thread # Per programmi semplici in c non è necessario indicare nulla. LDFLAGS= # Metti qui il nome del tuo eseguibile TARGET=nome_programma # Metti qui i file .o che lo formeranno (ottenuti compilando i file .c o .cpp); # ad esempio: OBJECTS=file1.o file2.o # Le righe seguenti non dovrebbero essere modificate all: ${TARGET} clean: <tab>rm -f ${TARGET} ${OBJECTS} ${TARGET}: ${OBJECTS} <tab>${CC} -o $@ $^ ${LDFLAGS}
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 446
|
ma cos'è questo famigerato carattere TAB?
Fatemi degli esempi affinchè possa capire anch'io. Può essere per esempio un sempice punto e virgola? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 446
|
ah un'altra cosa grazie mille per avermi postato il codice giusto di un Makefile
Ciao Agenio ![]() |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
![]() L'esempio di ilsensine è perfetto ma se ne vuoi altri da cui perndere ispirazione posso posterteli anche io. ciao ![]() |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 446
|
Oh afferrato ma il tab non si troverà mica tra il "\" e il "Caps Lock"
![]() Ciao Agenio P.s= grazie mille |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:41.