我正在LINUX中编译一个软件(将ASCII转换成BIN),使用PGI 2019社区版本。Makefile使用pgf77,我的系统中的PGI编译器中没有包含它,所以我必须更改为pgf90。但是,我遇到了一个错误:
pgf90 -vms -c -O -Mbyteswapio simcon.f
pgf90-Error-Unknown switch: -vms
make: *** [simcon.o] Error 1我认为-vms没有得到pgf90的认可。,那么我应该在这里使用什么标志呢?生成文件,如下所示:
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非常感谢。
哈奇
发布于 2020-10-15 16:53:09
pgf77正在被PGI2019编译器所反对。它仍然存在,但只包含在较早的非LLVM版本的编译器中(即"$PGI/linux86-64-nollvm/19.xx/bin“目录)。尽管最好移到较新的pgfortran驱动程序(pgf90也能工作)。
"-vms“标志启用了非常老的VAX/VMS扩展,这些扩展已经被Fortran标准例程或其他扩展所取代。正如您注意到的,代码编译时没有标记,所以代码要么不实际使用这些扩展,要么可以使用3F版本的扩展。
https://stackoverflow.com/questions/64357820
复制相似问题