在MSYS2中使用BLAS,LAPACK和ARPACK

时间:2018-04-11 20:11:18

标签: fortran gfortran lapack blas msys2

我正在使用带有64位工具链的MSYS2在Windows 10 64位上工作。在MSYS2终端中,我使用mingw64/mingw-w64-x86_64-openblas 0.2.20-2 mingw64/mingw-w64-x86_64-lapack 3.6.1-1 mingw64/mingw-w64-x86_64-arpack 3.5.0-1

搜索并找到并安装了以下软件包
dgelsx.f

我从英特尔MKL库示例中提取了一个示例fortran源文件;我将mingw64文件复制到我的msys主目录中的文件夹中。我用

编译(在gfortran dgelsx.f -o dgelsx -llapack -lblas 终端中)
C:/msys64/home/k_chu/lapacktext/dgelsx.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

它没有任何投诉编译,但当我尝试运行它时,我收到错误

arpack

为什么会这样?在我开始工作之前,我还没有尝试过处理arpack示例。此外,如果我确实完成了所有这些工作,是否可以将Microsoft Visual Studio中的ifort库与英特尔.dll编译器一起使用?我尝试将/msys64/mingw64/bin中的.a文件复制到我的MSV项目文件夹中,但没有运气,与.dll.a中的/msys64/mingw64/lib和{{1}}文件相同。

1 个答案:

答案 0 :(得分:0)

请使用依赖性walker(http://www.dependencywalker.com)来找到程序在路径上找不到的.dll。或者使用-static-libgcc-static-libstdc++进行编译,以避免在运行时出现依赖关系。