【发布时间】:2016-02-28 19:36:16
【问题描述】:
我必须编译 Fortran 程序,但我没能做到。
我不是这个主题的经验丰富的人,但我尝试在 makefile 中进行一些更改,不幸的是问题仍然存在。
原来的makefile是:
CC = cc
F77 = f77
CFLAGS = -g -DSOLARIS -DDEBUG #-DINTEL -DFREEBSD #-DDEBUG
FFLAGS = -g -c
OBJDIR= ../bin
LIB = ./sub/libsaito.a
all: shearSAITOniu shearsaito.li shearsaito shearsaito.2 \
# shearsaito run.saito saito
shearSAITOniu: shearSAITOniu.f ${LIB}
f77 shearSAITOniu.f -e -o ${OBJDIR}/shearSAITOniu -g ${LIB}
shearsaito.li: shearsaito.li.f ${LIB}
f77 shearsaito.li.f -e -o ${OBJDIR}/shearsaito.li -g ${LIB}
shearsaito: shearsaito.f ${LIB}
f77 shearsaito.f -e -o ${OBJDIR}/shearsaito ${LIB}
shearsaito.2: shearsaito.2.f ${LIB}
f77 shearsaito.2.f -e -o ../bin/shearsaito.2 -g ${LIB}
qsaito.li: qsaito.li.f ${LIB}
f77 qsaito.li.f -e -o ${OBJDIR}/qsaito.li ${LIB}
forward: forward.f ${LIB}
f77 forward.f -e -o ${OBJDIR}/forward ${LIB}
#shear3d: shear3d.f ${LIB}
f77 shear3d.f -e -o shear3d ${LIB}
#run.saito: run.saito.f ${LIB}
f77 run.saito.f -o run.saito ${LIB}
#s_saito: s_saito.f ${LIB}
# f77 s_saito.f -o s_saito ${LIB}
然后我在 CCFLAGS 中进行了更改,将 -DSOLARIS 替换为 -D_LINUX。
做make后出现错误信息:
f77 ShearSAITOniu.f -e -o ../bin/shearSAITOniu -g ./sub/libsaito.a
/usr/bin/f77:非法选项:-e
make: *** [shearSAIToniu] 错误 255
我不确定此错误消息的含义,但我也尝试将 f77 编译器替换为 gfortran 并得到此错误:
gfortran 剪切SAITOniu.f -e -o ./shearSAITOniu -g ./sub/libsaito.a
gfortran:错误:./shearSAITOniu:不存在 el archivo o el Directorio
make: *** [shearSAIToniu] 错误1
我认为这个程序最初是在 32 位机器上编译的,我的是 64 位的,但我不知道这究竟会产生什么影响。我希望你能帮我解决这个问题,谢谢。
【问题讨论】:
-
使用标签fortran获得更多关注。
标签: compilation makefile fortran gfortran