使错误`对aqsat_`的未定义引用

时间:2017-03-03 19:21:51

标签: fortran libraries gfortran linker-errors

我是初学者Fortran程序员。我无法将静态库链接到Fortran程序。在模块rce_world.f90中,我调用了库libcamclouds.a中定义的函数。我收到一个错误,表明函数未定义。

我不认为我在Makefile中正确链接库,并且/或者在实际的Fortran模块中有一些我缺少的外部调用(我们不需要在模块中提供“use” ?)。任何帮助将不胜感激。

我的Makefile是:

#Defining Variables
objects = homme_lat_lon.o cam_grid.o cam_variables.o rce_world.o initial.o
FC = gfortran
LIBDIR = -L/glade/p/work/aherring/RCE_world_initial/no_SICTHK/moistplume/cam5wv/cfcode_for_adam/
LIBNAM = -lcamclouds
#Makefile
out_data: $(objects)
        $(FC) -g -o out_data $(objects) $(LIBDIR) $(LIBNAM) -I/sw/include
homme_lat_lon.mod: homme_lat_lon.o homme_lat_lon.f90
        $(FC) -g -c homme_lat_lon.f90 
homme_lat_lon.o: homme_lat_lon.f90
        $(FC) -g -c homme_lat_lon.f90
cam_grid.mod: cam_grid.o cam_grid.f90
        $(FC) -g -c cam_grid.f90
cam_grid.o: cam_grid.f90
        $(FC) -g -c cam_grid.f90
cam_variables.mod: cam_variables.o cam_variables.f90
        $(FC) -g -c cam_variables.f90
cam_variables.o: cam_variables.f90
        $(FC) -g -c cam_variables.f90
rce_world.mod: cam_grid.mod cam_variables.mod rce_world.o rce_world.f90
        $(FC) -g -c rce_world.f90
rce_world.o: cam_grid.mod cam_variables.mod rce_world.f90
        $(FC) -g -c rce_world.f90 
initial.o: homme_lat_lon.mod cam_grid.mod cam_variables.mod rce_world.mod initial.f90
        $(FC) -g -c initial.f90 

错误日志:

      rce_world.o: In function __rce_world_MOD_rce_initial': /glade/p/work/aherring/RCE_world_initial/no_SICTHK/moistplum‌​e/cam5wv/cfcode_for_‌​
      adam/rce_world/rce_w‌​orld.f90:168: undefined reference to aqsat_' collect2: ld returned 1 exit status make: *** [out_data] Error £

0 个答案:

没有答案