作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我写了一个make文件如下:
COMPFLAGS = -O3 -autodouble
CFLAGS = $(COMPFLAGS)
PFLAGS = $(COMPFLAGS)
FFLAGS = $(COMPFLAGS)
CCFLAGS = $(COMPFLAGS)
CXXFLAGS = $(COMPFLAGS)
LD = ifort
LDFLAGS = $(COMPFLAGS)
MAKEFILE = Makefile
OBJS = f1.o \
f2.o \
f3.o \
PROGRAM = f1
all: $(PROGRAM)
%.o: %.f90
@$(LD) $(COMPFLAGS) -c $<
$(PROGRAM): $(OBJS) $(MAKEFILE)
@$(LD) $(LDFLAGS) $(OBJS) -o $(PROGRAM)
@echo "done"
clean:
@rm -f $(OBJS) core
当我执行 make
时,出现以下错误:
f77 -O3 -autodouble -c -o f1.o f1.f
/usr/bin/f77: Illegal option: -autodouble
make: *** [f1.o] Error 255
我应该注意到没有*.f
文件,所有文件都是*.f90
。
你能告诉我哪里出错了吗?
非常感谢。
最佳答案
这看起来很不寻常:
LD = ifort
...
%.o: %.f90
@$(LD) $(COMPFLAGS) -c $<
LD
是链接器,不是编译器。也许是这样的:
CC = ifort
...
%.o: %.f90
@$(CC) -std=f90 $(COMPFLAGS) -c $<
您可能还需要 -x
选项来告诉机器是 Fortran 90 而不是要预处理的东西:
%.o: %.f90
@$(CC) -x f90 -std=f90 $(COMPFLAGS) -c $<
关于linux - 生成文件错误 "/usr/bin/f77: Illegal option: -autodouble",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44489333/
我写了一个make文件如下: COMPFLAGS = -O3 -autodouble CFLAGS = $(COMPFLAGS) PFLAGS = $(COMPF
我是一名优秀的程序员,十分优秀!