[英]gfortran make circular dependency dropped
我正在Windows上使用GNU Make 4.1運行Makefile。 我已經看到了很多有關此主題的SO鏈接,但它們似乎都是針對C或c ++的。 我不確定是否適用相同的規則,並且由於我使用的是Windows,語法似乎也有所不同。
這是我的make文件:
FC = gfortran
FCFLAGS = -O0 -Og -Wall -pedantic -fbacktrace -fcheck=all
# FCFLAGS = -O2
MODDIR = "bin"
FCFLAGS += -J$(MODDIR) -fopenmp -fimplicit-none -Wuninitialized
SRCS_C =\
gridFun.f90 \
test.f90
OBJS_C = $(SRCS_C:.c=.o)
TARGET = test
all: $(TARGET)
$(TARGET): $(OBJS_C)
$(FC) -o $@ $(FCFLAGS) $(OBJS_C)
$(OBJS_C): $(SRCS_C)
$(FC) $(FCFLAGS) -c $(SRCS_C)
cleanMod:
del *.mod
cleanObj:
del *.o
我運行我的make文件
gmake
我注意到
mingw32-make
似乎產生相同的結果。 我得到的錯誤是:
gmake: Circular gridFun.f90 <- gridFun.f90 dependency dropped.
gmake: Circular test.f90 <- gridFun.f90 dependency dropped.
gmake: Circular test.f90 <- test.f90 dependency dropped.
gfortran -O0 -Og -Wall -pedantic -fbacktrace -fcheck=all -J"bin" -fopenmp -fimpl
icit-none -Wuninitialized -c gridFun.f90 test.f90
gfortran -o test -O0 -Og -Wall -pedantic -fbacktrace -fcheck=all -J"bin" -fopenm
p -fimplicit-none -Wuninitialized gridFun.f90 test.f90
任何有關如何解決此問題的幫助,也許對它的解釋將不勝感激!
您沒有c
源,因此變量的_C
后綴不准確(無害但令人困惑)。
真正的問題是此OBJS_C = $(SRCS_C:.c=.o)
替代ref 。
期望將.c
文件更改為.o
文件,但是您沒有任何.c
文件。
將其更改為OBJS_C = $(SRCS_C:.f90=.o)
,它應該可以為您工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.