Ciao a tutti,
finalmente ho (forse) finito il programma che stavo facendo.
In tutto i sorgenti si trovano su 7 file diversi, quindi ho pensato che sarebbe stata un'ottima cosa usare make (su ubuntu) per compilarli separatamente.
Ho pensato quindi di fare questo makefile.
Per ogni target ho messo il file .cc e il relativo header, e l'opzione -c lo fa compilare come modulo senza il linking...codice:CC = g++ CFLAGS = -g -Wall ALL_MODULES = square_matrix.o kramer.o error_maker.o main.o #Programma eseguibile kramer: $(ALL_MODULES) $(CC) $(CFLAGS) $(ALL_MODULES) -o kramer #Codice del programma main.o: main.cc square_matrix.hpp kramer.hpp $(CC) $(CFLAGS) main.cc -c main.o #Modulo che risolve i sistemi lineari kramer.o: kramer.cc kramer.hpp $(CC) $(CFLAGS) kramer.cc -c kramer.o #Modulo che gestisce le matrici square_matrix.o: square_matrix.cc square_matrix.hpp $(CC) $(CFLAGS) square_matrix.cc -c square_matrix.o #Modulo che produce i codici di errore error_maker.o: error_maker.cc error_maker.hpp $(CC) $(CFLAGS) error_maker.cc -c error_maker.o
Per il main ho inserito come dipendenze solo il suo .cc e gli header che include, e poi l'eseguibile ha come dipendenze tutti gli altri .o.
Però quando lancio make, ottengo questo output:
In teoria, la prima riga dovrebbe creare proprio il file square_matrix.o, che infatti compare nella cartella, eppure make insiste che non c'è e non compila... cosa sbaglio?codice:g++ -g -Wall square_matrix.cc -c square_matrix.o g++: square_matrix.o: File o directory non esistente make: *** [square_matrix.o] Errore 1![]()
(Magari la sezione? Ero indeciso se andava in Linux e Software)

Rispondi quotando
