pgi - pgf77 vs pgf90 编译软件
问题描述
我正在使用 PGI 2019 社区版在 LINUX 中编译软件(将 ASCII 转换为 BIN)。Makefile 使用我系统中的 PGI 编译器中未包含的 pgf77,因此我必须更改为 pgf90。但是,我遇到了一个错误:
pgf90 -vms -c -O -Mbyteswapio simcon.f
pgf90-Error-Unknown switch: -vms
make: *** [simcon.o] Error 1
我认为-vms
pgf90 无法识别。那么我应该在这里使用什么标志呢?
像这样的 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”标志启用已被 Fortran 标准例程或其他扩展取代的非常旧的 VAX/VMS 扩展。正如您所注意到的,代码在没有标志的情况下编译,因此代码实际上并不使用这些扩展,或者它可以使用 3F 版本的扩展。
推荐阅读
- python - 当我尝试在感知器算法中更新权重向量时,为什么会出现 matmul 不匹配错误?
- database - 为什么在将电子邮件数据发送到我的数据库时出现错误?
- javascript - console.log() 对象不会记录通过节点 js 控制台中的原型添加的方法。或者如何打印原型?
- python - networkx 设置复杂节点属性
- c - 如何检查输入文件是否包含字母或特定数字?
- python - NLTK ChartParser 给出空列表
- android - 如何在使用“CarouselSlider”时根据移动尺寸调整图像尺寸并将按钮文本放在该图像上?
- objective-c - 在 macOS 项目中使用没有 CocoaPods 的 libxlsxwriter
- c - 二维数组的每条可能路径?(交叉产品)
- c++ - 为什么允许将派生类的方法静态转换为基类的方法?