目录
一、安装mingw
二、安装CMake
三、下载lapack-3.10.1库
四、开始编译
五、vs2022配置lapack-3.10.1库
一、安装mingw
1、下载MinGW
2、往下滑,选择x86_64-win32-sjlj
3、正在下载
4、解压得到的文件
5、添加环境变量
参考:https://blog.csdn.net/qq_50677040/article/details/131445460
二、安装CMake
参考:https://blog.csdn.net/weixin_49649700/article/details/129072973
(重启电脑!!!)(重启电脑!!!)(重启电脑!!!)
三、下载lapack-3.10.1库
解压后的文件
四、开始编译
1、新建文件
2、打开CMakem,分别添加如图中1,2所示。
3、点击“Configure”,编译器选择“MinGW Makefiles
4、点击“Finish”后
5、选中以下4项
6、再次点击“Configure”,(还是会出现红色)
7、再次点击“Configure”,(红色消失)
8、点击“Generate”
出现“Generating done”,说明CMake编译完成。
9、打开前面新建的“build”文件夹,文件内容如下
在cmd窗口中输入:“D:\MinGW\mingw64\bin\mingw32-make.exe”(该路径是安装mingw的安装路径)
一段时间的等待后,就生成了需要的库了。分别在bin、include和lib文件夹中。
五、vs2022配置lapack-3.10.1库
1、将上述3个文件拷贝到一个文件夹
2、在vs2022工程里面的属性表中,VC++目录中的“包含目录”和“库目录”分别添加“include”和“lib”
3、输入附加依赖项
libblas.lib
libcblas.lib
4、运行时会提示找不到“libblas.dll”和“libcblas.dll”,将这两个文件拷贝到与main函数所在的文件夹。
测试代码:
#include <cblas.h>
#include <stdio.h>
#include <stdlib.h>
void main() {
int i = 0;
double A[6] = { 1.0, 2.0, 1.0, -3.0, 4.0, -1.0 };
double B[6] = { 1.0, 2.0, 1.0, -3.0, 4.0, -1.0 };
double C[9] = { .5, .5, .5, .5, .5, .5, .5, .5, .5 };
int M = 3; // row of A and C
int N = 3; // col of B and C
int K = 2; // col of A and row of B
double alpha = 1.0;
double beta = 0.0;
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, M, N, K, alpha, A, K, B, N, beta, C, N);
for (i = 0; i < 9; i++) {
printf("%lf ", C[i]);
}
printf("\n");
system("pause");
}
运行结果为