问题描述:
在gcc10编译器环境下编译SIONLIB,修改gfortran编译参数为”-w -fallow-argument-mismatch“后出现以下报错
根因分析:
①报错处为gfortran -w -fallow-argument-mismatch sion_f90.f90,和sion_f90.f90报多处未定义错误
②进入SIONLIB源码目录,并执行命令cd src/fortraninterface进入到编译错误对应源码目录
③grep 查询一下相关未定义函数 example: grep -nr lfsion_swap_c_
回显结果:
grep回显有结果,说明该定义在源码中,未找到定义的原因是编译选项有问题
④打开Makefile文件,查看编译指令
报错部分为第112行,编译指令为$(F90) -w -fallow-argument-mismatch sion_f90.f90,参考原编译指令此处缺少编译参数”-c“选项
在gcc10版本下,此处不仅要使用-w -fallow-argument-mismatch参数来解决类型不匹配问题,代码的预处理编译参数也不能遗漏
解决方法:
①修改Makefile第112行为”$(F90) -c -w -fallow-argument-mismatch sion_f90.f90“
②同时124,131,138行添加编译参数-w -fallow-argument-mismatch
③回到sionlib源码目录,执行make clean后重新编译
问题描述:
在gcc10编译器环境下编译SIONLIB,修改gfortran编译参数为”-w -fallow-argument-mismatch“后出现以下报错
根因分析:
①报错处为gfortran -w -fallow-argument-mismatch sion_f90.f90,和sion_f90.f90报多处未定义错误
②进入SIONLIB源码目录,并执行命令cd src/fortraninterface进入到编译错误对应源码目录
③grep 查询一下相关未定义函数 example: grep -nr lfsion_swap_c_
回显结果:
grep回显有结果,说明该定义在源码中,未找到定义的原因是编译选项有问题
④打开Makefile文件,查看编译指令
报错部分为第112行,编译指令为$(F90) -w -fallow-argument-mismatch sion_f90.f90,参考原编译指令此处缺少编译参数”-c“选项
在gcc10版本下,此处不仅要使用-w -fallow-argument-mismatch参数来解决类型不匹配问题,代码的预处理编译参数也不能遗漏
解决方法:
①修改Makefile第112行为”$(F90) -c -w -fallow-argument-mismatch sion_f90.f90“
②同时124,131,138行添加编译参数-w -fallow-argument-mismatch
③回到sionlib源码目录,执行make clean后重新编译