微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flang 从静态库中封装 C 函数时找不到 iso_c_bindings

如何解决flang 从静态库中封装 C 函数时找不到 iso_c_bindings

我有一个用 C 编写的名为 mylib.a 的静态库,我正在尝试从 Fortran 对 C 进行第一次调用

我想在 Fortran 中调用包含在 C 库中的以下函数

double get_step(double value); 

我尝试使用以下 Fortran 代码

! TEST FORTRAN WRAPPER

module test

        use,intrinsic  :: iso_c_binding

        ! Interface to C routine
        ! double get_step(double value);
        interface
                real(c_double) function _get_step(value) bind(C,'get_step')
                        use,intrinsic :: iso_c_binding,only : c_double
                        real(c_double) :: value
                end function
        end interface

end module

我试着像这样编译它:

$ flang test.f90 mylib.a
F90-F-0004-Unable to open MODULE file iso_c_binding.mod (test.f90: 5)
F90/x86-64 FreeBSD Flang - 1.5 2017-05-01: compilation aborted
  • 我做错了什么?
  • 我可以对 Fortran 函数使用相同的名称 get_step 吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。