我有以下的生成文件。它適用於.f
和.c
文件,但是當我有.f90
文件並且想要用ifort編譯它時不起作用? 你能否告訴我我應該改變的地方以及如何改變? 感謝您沒有規則使目標f1.o,需要由f90_simple
FCOMPFLAGS = -O -ffixed-line-length-132
CCOMPFLAGS = -O
FFLAGS = $(FCOMPFLAGS) -fsecond-underscore
CFLAGS = $(CCOMPFLAGS)
LDFLAGS = $(FCOMPFLAGS)
LD = gfortran
FC = gfortran
MAKEFILE = Makefile
PROGRAM1 = f1
OBJS = f1.o \
f2.o \
f3.o
all: $(PROGRAM1)
$(PROGRAM1): $(OBJS) $(MAKEFILE)
$(LD) $(LDFLAGS) $(OBJS) -o $(PROGRAM1)
clean: @rm -f $(OBJS) core
當我執行「使」我得到以下錯誤
,
make: *** No rule to make target `f1.o', needed by `f90_simple'. Stop.
看來,我的文件也不承認* .F90文件,我的另一個問題是,我們是否有在生成文件中使用標誌ifrot編譯 感謝
由於您沒有提供有關使用'ifort'所做的更改的信息,也沒有提供任何有關問題的信息(_does not work_不是有用的問題描述),所以我們無法爲您提供幫助。 – MadScientist
@ MadScientist感謝您的回覆,但是當我有f1.f和f2.f和f3.f並使用make它時,文件f1.f90和f2.f90和f3.f90的相同內容不起作用,請問我可以如何解決它,或者讓我的問題更清楚? –
您應該顯示您輸入的命令的示例,並顯示您獲得的輸出並解釋您認爲不正確的原因。請剪切並粘貼,而不是轉述錯誤消息。 「不起作用」可能意味着一百萬件事情:可能找不到編譯器,可能找不到您的源代碼,您的代碼中可能存在錯誤,您可能位於錯誤的目錄中,您可能需要安裝額外的庫,可能沒有磁盤空間,您的計算機可能會自動重新啓動......我們不知道,甚至不知道您的問題是什麼,我們如何幫助您解決問題? – MadScientist