makefile错误:make:***没有规则来制作目标`omp.h';使用OpenMP

时间:2013-02-17 18:44:53

标签: c gcc makefile openmp

所有,我正在使用OpenMP编译C程序。这是我第一次使用makefile。当激活“make”时,gcc报告错误make: * 没有规则使目标omp.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

1 个答案:

答案 0 :(得分:5)

除非您期望更改标准头文件,否则最简单的解决方案就是将它们从先决条件列表中删除。

如果您不想执行上述操作,则需要指定omp.h的完整路径,或使用VPATH机制。