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

Rob*_*ert 1 c gcc makefile openmp

所有,我正在用OpenMP编译一个C程序.这是我第一次使用makefile.当激活"make"时,gcc报告错误make:*没有规则使目标omp.h', needed bysmooth.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
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 5

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

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