作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试编译导师给我的 fortran 程序。
当我在 Mac OS X 10.8.4 上使用 gfortran 4.7.2 和在 Arch Linux x64 上使用 gfortran 4.8.1 时,它不想编译。
我构建了可重播错误的最小工作示例。不幸的是,无论如何它都很大,所以我把它放在了github上:https://github.com/kabanovdmitry/vode-test
我可以在 Ubuntu 12.04 下使用 gfortran 4.6.3 编译这段代码。
我查看了 GCC 4.7 的新闻稿,没有找到任何线索。
您能否解释一下为什么 gfortran 不想编译这段代码?
抱歉,一开始忘了把错误放在这里:
main.f90:8.75:
call vode(istate, lambda_fcn, dummy_jac, lambda, x_tmp, x_end, tol, pm)
1
Error: There is no specific subroutine for the generic 'vode' at (1)
make: *** [all] Error 1
最佳答案
我的回答及其在乔治引用的问题中的评论涵盖了您的问题。参数的类型、种类和等级完全匹配。要添加新的东西,我建议你尝试直接调用特定过程。然后类型检查器将提示错误的实际参数,您将看到更多详细信息。
在你的情况下
generic2.f90:81.24:
call d_vode(istate, lambda_fcn, dummy_jac, lambda, x_tmp, x_end, tol, pm)
1
Error: Interface mismatch in dummy procedure 'f' at (1): Shape mismatch in dimension 1 of argument 'y'
这是不言自明的。您的虚拟程序与您的接口(interface)不兼容。您正在混合假定大小和恒定大小以及显式大小的数组。您必须完全按照界面进行操作。
关于Fortran 4.7.2/4.8.1 错误 : There is no specific subroutine for the generic 'vode' at (1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17304246/
我是一名优秀的程序员,十分优秀!