Windows下lapack的编译

LAPACK库

LAPACK(Linear Algebra PACKage)库,是用Fortran语言编写的线性代数计算库,包含线性方程组求解(AX=b)、矩阵分解、矩阵求逆、求矩阵特征值、奇异值等。该库用BLAS库做底层运算,许多高层的数学库都用BLAS和LAPACK做底层。

BLAS(Basic Linear Algebra Subprograms)库,是用Fortran语言实现的向量和矩阵运算库,是许多数值计算软件库的核心, 但也有一些其它的包装, 如cblas是C语言, 也有C++的包装, boost/ublas 是C++ template class的实现; 另外还有一些特别的实现, 如intel MKL, AMD core math library blas就是做向量、矩阵的基本运算,如加、减、乘等操作。

LAPACK库的地址

LAPACK库的下载地址:http://www.netlib.org/lapack/

LAPACK库的说明文档: http://www.netlib.org/lapack/lug/lapack_lug.html

LAPACK库的头文件(C语言的)、Lib文件(MDd和MTd两种类型的,以及调试和发布版的)和源代码(Fortran语言,主要用于查看各个函数的参数的说明):http://www.fi.muni.cz/~xsvobod2/misc/lapack/

LAPACK的其他相关资料可以从CSDN中查找:http://download.csdn.net/

LAPACK库的安装和编译

  1. 下载好源码包
    在这里插入图片描述
  2. 下载mingw

确保包含:

  • C编译器:gcc.exe
  • C++编译器:g++.exe
  • fortan编译器:gfortan.exe
    如为x64系统,可使用 x86_64-w64-mingw32-*编译器
    在这里插入图片描述
  1. 使用cmake-gui编译
    1>输入源码地址和生成地址
    2>使用mingw编译器编译,选择Specify nativate compliers并设置相应的编译器路径
    在这里插入图片描述
    在这里插入图片描述
    3> 勾选以下选项:
  • BUILD_SHARED_LIBS: 静态库
  • CMKAE_GUNtoMS: vs可调用
  • C:
    • CBLAS: C语言的BLAS库
    • LAPCAKE: C语言的LAPACKE库
  • C++:
    • BLAS++: C++的BLAS库
    • LAPCAK++:C++的LAPACKE库
  1. configuregenerate 编译生成;
  2. 修改SRC\CMakeFiles\lapack.dir目录下的link.txt:
你的地址\gfortran.exe  -frecursive -O2 -shared -o ..\bin\liblapack.dll -Wl,--out-implib,..\lib\liblapack.dll.a -Wl,--major-image-version,3,--minor-image-version,10 -Wl,--whole-archive CMakeFiles\lapack.dir/objects.a -Wl,--no-whole-archive @CMakeFiles\lapack.dir\linkLibs.rsp -Wl,--output-def,lapack.def

  1. 进入build目录,使用cmd, 运行mingw的mingw32-make.exe

  2. 此时在buildinlcudebinlib为编译好的库文件
    在这里插入图片描述

  3. 生成后,若lapack.h出现红色波浪线,无法编译通过,则将对应的宏定义修改:

float _Complex -> float
double _Complex -> double
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值