主题:调用Module的一个奇怪的错误
刚开始写fortran,写了2个文件,一个module文件SubroutineTest,一个主文件UserTest。
使用ifort编译器
主文件UserTest调用SubroutineTest下的一个子程序paratest1
使用命令ifort UserTest.F90
产生错误
/tmp/ifortZlWC78.o: In function `MAIN__':
userTest.F90:(.text+0x14f): undefined reference to `subroutinetest_mp_paratest1_'
这似乎是找不到相关子程序的错误,但我在SubroutineTest已经写了paratest1,并将该module使用命令
ifort -c SubroutineTest.F90生成了.o以及.mod文件,而且2个文件在同一文件夹下。
为什么会产生这个错误呢?我的操作是不是有问题?求各位Fortran前辈解答
下面是2个Fortran文件的具体内容,很简单的2个程序
module SubroutineTest
implicit none
private
save
integer,parameter,public :: a12=1
public :: paratest1
contains
subroutine paratest1
call paraTest2
contains
subroutine paraTest2
print *,a12
end subroutine paraTest2
end subroutine paratest1
end module SubroutineTest
program mainTest
use SubroutineTest,only : Subroutine=>paratest1
implicit none
call Subroutine
end
使用ifort编译器
主文件UserTest调用SubroutineTest下的一个子程序paratest1
使用命令ifort UserTest.F90
产生错误
/tmp/ifortZlWC78.o: In function `MAIN__':
userTest.F90:(.text+0x14f): undefined reference to `subroutinetest_mp_paratest1_'
这似乎是找不到相关子程序的错误,但我在SubroutineTest已经写了paratest1,并将该module使用命令
ifort -c SubroutineTest.F90生成了.o以及.mod文件,而且2个文件在同一文件夹下。
为什么会产生这个错误呢?我的操作是不是有问题?求各位Fortran前辈解答
下面是2个Fortran文件的具体内容,很简单的2个程序
module SubroutineTest
implicit none
private
save
integer,parameter,public :: a12=1
public :: paratest1
contains
subroutine paratest1
call paraTest2
contains
subroutine paraTest2
print *,a12
end subroutine paraTest2
end subroutine paratest1
end module SubroutineTest
program mainTest
use SubroutineTest,only : Subroutine=>paratest1
implicit none
call Subroutine
end