我正在使用带有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}}文件相同。
答案 0 :(得分:0)
请使用依赖性walker(http://www.dependencywalker.com)来找到程序在路径上找不到的.dll。或者使用-static-libgcc
或-static-libstdc++
进行编译,以避免在运行时出现依赖关系。