1

すべて、私は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
4

1 に答える 1

5

標準のヘッダーファイルが変更されることを期待していない限り、最も簡単な解決策は、前提条件リストからそれらを削除することです。

上記を実行したくない場合は、への完全なパスを指定するか、メカニズムomp.hを使用する必要があります。VPATH

于 2013-02-17T18:46:47.090 に答える