0

我从https://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries下载了 libblas.dll win32 版本“使用 Mingw 预构建的动态库”,并使用了来自的 g77 blas 示例“blas3_d_prb.f” http://people.sc.fsu.edu/~jburkardt/f77_src/blas3_d/blas3_d.html使用我的 g77 编译器,我已经尝试使用 reimp 和 pexports 等将“libblas.lib”转换为“libblas.a”。 ..但不成功。

我希望有人对使用带有 g77 的 libblas.dll 有一些经验(因为将 dll 与 g77 链接似乎很棘手),我还想确认“libblas.dll”std 或 cdecl 使用的调用约定(g77 遵循什么)?

谢谢。

4

1 回答 1

0

我终于确定了编译这个特定的 fortran blas 程序的问题:实际上你需要源(对于 blas0.f 和 blas3_d.f)而不是 libblas.dll(因为不知道他们使用了哪些源)

  1. 使用的辅助功能也需要 Blas0.f,例如 r8mat_test、r8mat_print 等。
  2. 使用以下命令将每个库,即 blas0.f 和 blas3_d.f 编译为目标文件: g77 -c blas0.f g77 -c blas3_d.f 这将生成 blas0.o 和 blas3_d.o 目标文件,然后您将编译 main prog这个:(PS:将 blas3_d_prf.f 中的 trime 函数替换为 len_trim) G77.EXE blas3_d_prf.f blas0.o blas3_d.o -o yourblas.exe

它将为 Windows 生成 yourblas.exe 二进制文件。

于 2016-08-30T07:24:43.347 回答