Fortran 架构x86“U 64”的未定义符号_r8“巨大的”;
我有一个Fortran 架构x86“U 64”的未定义符号_r8“巨大的”;,fortran,fortran90,fortran77,Fortran,Fortran90,Fortran77,我有一个.f90文件,我用它编译: gfortran -c -o objs/mod_interp.o ../extern/mod_interp.f90 -g -fPIC -Imods -I../header_files -Jmods 其余对象由F77文件编译而成,然后所有对象都链接到: gfortran -o WIM2d.exec objs/p_WIM2d.o objs/mod_WIM2d_run.o objs/mod_interp.o objs/mod_file_utils.o objs/m
.f90
文件,我用它编译:
gfortran -c -o objs/mod_interp.o ../extern/mod_interp.f90 -g -fPIC -Imods -I../header_files -Jmods
其余对象由F77文件编译而成,然后所有对象都链接到:
gfortran -o WIM2d.exec objs/p_WIM2d.o objs/mod_WIM2d_run.o objs/mod_interp.o objs/mod_file_utils.o objs/mod_gridinfo.o objs/mod_wim_init.o objs/mod_common_wim.o objs/mod_wim_prams.o objs/RTparam_outer.o objs/RTparam_fast.o objs/RTparam_hardcoded_v2.o objs/mod_RTparam_utilities.o objs/mod_adv_atten.o objs/mod_advect.o objs/mod_wavesice.o -g -fPIC -Imods -I../header_files
但是,我得到以下错误:
Undefined symbols for architecture x86_64:
"_r8_huge_", referenced from:
___mod_interp_MOD_pwl_interp_2d in mod_interp.o
"_r8vec_bracket5_", referenced from:
___mod_interp_MOD_pwl_interp_2d in mod_interp.o
ld: symbol(s) not found for architecture x86_64
我正在使用OSX 10.10的mac电脑上工作。
有什么建议吗?我更改了标题。错误不太可能是因为它是Fortran 77或90造成的。始终使用标签。在代码中查找任何出现的
r8_巨大
和r8vec_括号5
。它应该在mod_interp.f90
中。显示相关代码!嗨,弗拉基米尔,谢谢你的提示。这两个“符号”(一个参数和一个函数)似乎在另一个文件中,我没有意识到它与mod_interp.f90中的子程序一起使用。我以为它们是f90或类似的东西的固有特性,但在将这两个东西复制到我的模块后,它编译得很好。我更改了标题。错误不太可能是因为它是Fortran 77或90造成的。始终使用标签。在代码中查找任何出现的r8_巨大
和r8vec_括号5
。它应该在mod_interp.f90
中。显示相关代码!嗨,弗拉基米尔,谢谢你的提示。这两个“符号”(一个参数和一个函数)似乎在另一个文件中,我没有意识到它与mod_interp.f90中的子程序一起使用。我认为它们是f90或者类似的东西的固有特性,但是在将这两个东西复制到我的模块中之后,它编译得很好。