все, я составлял программу C с OpenMP. Это мой первый раз использовать make-файл. Когда выдается «make», gcc сообщает об ошибке: * Нет правила для создания цели omp.h', needed by
smooth.o '. Стоп. Однако omp.h находится в /usr/lib/gcc/i686-linux-gnu/4.6/include/omp.h, мне интересно, как его исправить. Может ли кто-нибудь мне помочь? Спасибо.makefile error: make: *** Нет правила для создания цели `omp.h '; с OpenMP
CC=gcc
CFLAGS = -fopenmp
all: smooth
smooth: smooth.o ompsooth.o
$(CC) $(CFLAGS) -o smooth smooth.o ompsmooth.o
ompsmooth.o: ompsmooth.c assert.h stdio.h stdlib.h omp.h ompsmooth.h
gcc $(CFLAGS) ompsmooth.c
smooth.o: smooth.c ompsmooth.h omp.h stdio.h stdlib.h string.h sys/types.h sys/stat.h fcntl.h
gcc $(CFLAGS) smooth.c
clean:
rm *.o
rm smooth
Так же, как это ompsmooth.o: ompsmooth.c \t НКУ $ (CFLAGS) ompsmooth.c smooth.o: smooth.c \t НКУ $ (CFLAGS) smooth.c – Robert
, что когда-либо начинали это так или иначе? старые источники Х были еще хуже. – technosaurus
Ты понял. Если файлы заголовков меняются, то make не будет знать, что он должен перестроить ваш источник, но так оно и есть. Различные инструменты сборки знают, как автоматически сканировать ваш файл .c и создавать зависимостей заголовков для вас, но не по умолчанию вы получаете доступ к Linux. Если вы предпочтете получить гун-хо об этом, вы можете найти способ перевернуть руку старого макияжа, чтобы сделать это для вас: http://scottmcpeak.com/autodepend/autodepend.html –