MinkowskiEngine在Windows上运行时需要OpenBlas的支持,今天主要就是在Windows环境下对OpenBlas进行编译安装。
1、准备
环境支持:visual studio 17.10版本(最好17.4版本以后)
os: Windows11
2、安装步骤
2.1、下载OpenBlas:https://www.openblas.net/
然后解压
2.2、前往MinGW官网(http://www.mingw.org/)下载最新版的MinGW。MinGW中包含了多种编译器,其中最重要的是gcc编 译器和msys。
下载之后直接无脑安装,需要注意的是安装地址最好不要改
进入这个界面后, 选中所有图中所示安装项目,而后在Installation中选择 Apply Changes,进行gcc和msys等的安装。由于是在线下载安装,可能要花费较长时间;
2.3、将 C:\MinGW\1.0\bin 路径添加到电脑的 PATH变量中
2.4、完成MinGW安装后,找到C:\MinGW\msys\1.0\msys.bat,双击启动msys的命令行模式。而后cd至上述OpenBlas的文件夹路径,并在msys内输入make,则可开始OpenBlas的编译,该编译时间耗时约1小时。编译完成后,会在上述路径下生成 libopenblas.dll 和 libopenblas.dll.a等文件;
在make时有时会报错
Makefile:138: recipe for target `libs' failed
此时,解决的办法是运行下面这条命令
make BINARY=32 -j8
2.5 接下来就是提取、生成所需的头文件、库文件。所需要做的是,在当前msys中输入 make PREFIX=\Temp install,那么会在OpenBlas的文件夹内产生一个Temp文件夹,其内则含有 include、bin、lib文件夹,各自所包含的文件如下图所示;(若没有在OpenBlas文件夹下看到这三个文件夹,那么很有可能被放置到了C:\MinGW\1.0\下,这取决于PREFIX这个路径中\或/斜杠的使用)。
若lib文件夹中缺少libopenblas.lib文件(常见问题),那么就利用已有.dll文件生成该文件。方法是:打开操作系统菜单中VS2022的Command Prompt,而后cd至OpenBlas的exports文件夹,输入命令 lib /machine:X64 /def:libopenblas.def ,那么就会在exports文件夹中生成libopenblas.lib文件和对应的.exp文件,而后将.lib和.exp文件拷贝至Temp\lib中。
在PATH环境变量中添加Temp\lib文件夹的路径,至此安装结束