总之,我在用OpenMP编译一个C程序。这是我第一次使用makefile。当执行“make”时,gcc报告错误make:*没有规则使targetomp.h', needed by
smooth.o'。停下来。但是omp.h在/usr/lib/gcc/i686 linux gnu/4.6/include/omp.h中,我想知道如何修复它。有人能帮我吗谢谢您。
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
最佳答案
除非您希望更改标准头文件,否则最简单的解决方案是从必备列表中删除它们。
如果不想执行上述操作,则需要指定omp.h
的完整路径,或者使用VPATH
机制。
关于c - makefile错误:make:***没有规则可以使目标`omp.h';使用OpenMP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14924683/