pgf77 vs pgf90来编译软件

问题描述

我正在使用PGI 2019社区版本在LINUX中编译软件(将ASCII转换为BIN)。 Makefile使用pgf77,它没有包含在我的系统中的PGI编译器中,因此我必须更改为pgf90。但是,我遇到了一个错误

pgf90 -vms -c -O -Mbyteswapio simcon.f
pgf90-Error-UnkNown switch: -vms
make: *** [simcon.o] Error 1

我认为pgf90无法识别-vms那我应该在这里使用什么标志? MAKEFILE是这样的:

FCFLGS = -O -Mbyteswapio
OBJCTS = \
aircon.o \
airconv.o \
avgcon.o \
avgcns.o \
bndcon.o \
checon.o \
dfbcon.o \
emicon.o \
metcon.o \
ptscon.o \
regcon.o \
simcon.o \
tercon.o \
tmpcon.o \
tmpcn3.o \
tpccon.o \
wndcon.o

airconv: $(OBJCTS)

        pgf77 -o airconv $(FCFLGS) $(OBJCTS)

.f.o:
        pgf77 -c $(FCFLGS) $<

simcon.o: simcon.f
        pgf77 -vms -c $(FCFLGS) simcon.f

非常感谢您。

哈志

解决方法

pgf77正在被PGI 2019编译器弃用。它仍然存在,但仅包含在较早的非LLVM版本的编译器下(即“ $ PGI / linux86-64-nollvm / 19.xx / bin”目录)。虽然最好转移到较新的pgfortran驱动程序(pgf90也可以)。

“-vms”标志启用了非常老的VAX / VMS扩展,这些扩展已被Fortran标准例程或其他扩展取代。正如您所注意到的那样,代码在编译时没有标记,因此该代码实际上没有使用这些扩展名,也可以使用3F版本的扩展名。