Windows安装Suitesparse lapack

参考

  • 更新:我安装LAPACK其实是为了安装suitesparse然后,我发现了一个好的github可以直接安装suitesparse完毕(包括LAPACK等等所有依赖)。
    https://github.com/jlblancoc/suitesparse-metis-for-windows/tree/v1.3.0
    简介:

CMake scripts for painless usage of Tim Davis’ SuiteSparse (CHOLMOD,UMFPACK,AMD,LDL,SPQR,…) and METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake. The project includes precompiled BLAS/LAPACK DLLs for easy use with Visual C++

在使用CMAKE处理前。请注意:

首先将…\suitesparse-master\metis\programs\CMakeLists.txt做修改,即在图5-1中红色框线内的四行语句中,分别在末尾添加../GKlib/getopt.c
在这里插入图片描述
然后再编译。

如果你实在是闲得慌,可以按照下面方面手动自己安装LAPACK(不推荐)
注意这里不同于一般的windows下vs+cmake的而是需要使用cmake+MinGW配置方式。
在安装LAPACK之前需要先安装MinGW:
MinGW可以自行百度。

安装

安装MinGW

MinGW有在线版和离线版安装两种,建议安装离线版。
注意我们这里安装的是64版本。

MinGW分为较早开发的MinGW32和之后为编译64位程序开发的MinGW-w64,MinGW32只能编译32位的程序,而mingw64不仅能编译64位程序,也能编译32位程序,还能进行交叉编译,即在32位主机上编译64位程序,在64位主机上编译32位程序。

传送门

安装好将解压的包放在一个路径下。并且将其bin加入环境变量:
在这里插入图片描述

下载LAPACK并使用MinGW编译

http://netlib.org/lapack/lapack.tgz
需要将其中的
make.inc.example文件重命名为make.inc。

使用Cmake编译:
Windows安装Suitesparse lapack_第1张图片
注意:
Windows安装Suitesparse lapack_第2张图片
选"Specify native compilers",点击next,选择c和fortran编译器在你机器的路径(这里其实就是刚才MinGW/bin下)。例如我的路径为

C:/mingw64/bin/x86_64-w64-mingw32-gfortran.exe
C:/mingw64/bin/x86_64-w64-mingw32-gcc.exe

c++留空,点击finish.
Windows安装Suitesparse lapack_第3张图片

  • 注意
    如果出现问题:
    在这里插入图片描述
    请使用管理员运行cmake。

Windows安装Suitesparse lapack_第4张图片
进一步设置: ‘BUILD_SHARED_LIBS’ 和 ‘CMAKE_GNUtoMS’ 选中,接着在列表中选中’LAPACKE’。
Windows安装Suitesparse lapack_第5张图片
可以看到configuration成功了:
Windows安装Suitesparse lapack_第6张图片
点击generate:
在这里插入图片描述
ok成功!

进一步

进入该你cmake生成的目标文件夹:
在这里插入图片描述
使用管理员身份运行命令行:
进入并运行:mingw32-make(因为我们之前已经配置好了环境变量了)
Windows安装Suitesparse lapack_第7张图片
如果你失败了
Windows安装Suitesparse lapack_第8张图片
请进行如下操作:
请在你cmake输出文件夹下,编辑:

SRC\CMakeFiles\lapack.dir\link.txt

将第三句 'C:\MinGW\bin\x86_64-w64-mingw32-gfortran.exe -O2 …'变更为

C:\MinGW\bin\x86_64-w64-mingw32-gfortran.exe  -O2 -DNDEBUG -O2  -shared -o ..\bin\liblapack.dll -Wl,--allow-multiple-definition -Wl,--out-implib,..\lib\liblapack.dll.a -Wl,--major-image-version,3,--minor-image-version,8 -Wl,--whole-archive CMakeFiles\lapack.dir/objects.a -Wl,--no-whole-archive @CMakeFiles\lapack.dir\linklibs.rsp -Wl,--output-def,lapack.def

然后回到刚才cmake输出文件夹下,运行

mingw32-make -Wl,--allow-multiple-definition

即可。

然后使用mingw32-make.exe test命令检验编译结果。

此时文件夹下的lib文件夹下生成了libblas.a,liblapack.a和libtmglib.a三个文件,至此完成了lapack库和blas库的编译。

你可能感兴趣的:(Windows安装Suitesparse lapack)