搞这个clapack 花了很长时间,成功之后决定写个博客整理一下:
【写在前面】:LAPACK全称是 Linear Algebra PACKage, LAPACK, BLAS 本身是Fortran写的。函数以XYYZZZ形式命名,首字母代表数据类型,
- d: 双精度double
- c: 单精度复数 complex
- s: 单精度实数singble real
1. 下载 clapack
windows: 载VS配置的,根据需要生成debug,release,win32,x64的lib:
http://www.netlib.org/clapack/CLAPACK-3.1.1-VisualStudio.zip- *
2. 解压,生成需要的静态库
- windows: (我用的是VS2013)
注意VS的项目配置,调用的时候,项目的配置要和生成clapack lib的一样。(我一开始生成lib的时候用MTd(multi-thread-debug), 调用是时候用MDd(multi-thread-debug-dll),调用不成功 -_-
比如,我用32bit debug MTd
build 3个项目 blas clapck libf2c (Testing 的不用管)
生成的lib可以放到不用的文件夹 (debug的lib的命名结尾加d,我这里用的都是MT或者MTd)
├── 32_debug
│ ├── BLASd.lib
│ ├── clapackd.lib
│ └── libf2cd.lib
├── 32_release
│ ├── BLAS.lib
│ ├── clapack.lib
│ └── libf2c.lib
├── 64_debug
│ ├── BLASd.lib
│ ├── clapackd.lib
│ └── libf2cd.lib
└── 64_release
├── BLAS.lib
├── clapack.lib
└── libf2c.lib
也可以重命名为 blas_win64_MTd.lib, blas_win32_MT.lib, 方便自己后续调用
-
<