文章目录
- LAPACK库
 - LAPACK库的地址
 - 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库的安装和编译
- 下载好源码包

 - 下载mingw
 
确保包含:
- C编译器:gcc.exe
 - C++编译器:g++.exe
 - fortan编译器:gfortan.exe
如为x64系统,可使用x86_64-w64-mingw32-*编译器

 
- 使用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库
 
configure、generate编译生成;- 修改
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
 
-  
进入
build目录,使用cmd, 运行mingw的mingw32-make.exe; -  
此时在
build下inlcude、bin、lib为编译好的库文件

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

![【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的生日派对座位安排(200分) - 三语言AC题解(Python/Java/Cpp)](https://i-blog.csdnimg.cn/direct/5ec34571e93c408a97a960cb336ea0a5.png)
















