2
我想用gfortran編譯這段代碼。Makefile導致`gfortran:錯誤:沒有這樣的文件或目錄`
的Makefile:
# makefile for BIRRP
FC = gfortran
FCFLAGS = -g -fbounds-check
FLFLAGS = -g -fbacktrace
SRC = birrp.f coherence.f dataft.f diagnostic.f fft.f filter.f math.f rarfilt.f response.f rtpss.f utils.f weight.f zlinpack.f
# "make" builds all
PROGRAM = birrp
all: $(PROGRAM)
$(PROGRAM): $(SRC)
$(FC) $(FCFLAGS) [email protected] $<
%.o: %.f
$(FC) $(FLFLAGS) -o [email protected] $^
clean:
rm -f *.o
它不
gfortran -g -fbounds-check birrp birrp.f
gfortran: error: birrp: No such file or directory
Makefile:13: recipe for target 'birrp' failed
make: *** [birrp] Error 1
我使用gfortran編譯工作。我從我的其他程序複製了Makefile。
加入-o
後:
FC = gfortran
FCFLAGS = -g -c -fbounds-check
FLFLAGS = -g -fbacktrace
SRC = birrp.f coherence.f dataft.f diagnostic.f fft.f filter.f math.f rarfilt.f response.f rtpss.f utils.f weight.f zlinpack.f
# "make" builds all
PROGRAM = birrp
all: $(PROGRAM)
$(PROGRAM): $(SRC)
$(FC) $(FCFLAGS) -o [email protected] $<
%.o: %.f
$(FC) $(FLFLAGS) -o [email protected] $^
clean:
rm -f *.o
現在它只是編譯
gfortran -g -c -fbounds-check -o birrp birrp.f
爲什麼?
你的編譯行不包括輸出目標。它應該是:gfortran -g -fbounds-check -o birrp birrp.f –
@ P.Hinker如何更改我的makefile? – MPejic
您的編輯實質上改變了問題並使給定的答案失效。我不認爲這是一個有效的編輯。您應該接受給定的答案,並用更新的makefile提出一個新問題。 –