使用MinGw平台和MPICH,fftw lapack和BLAS等库为Windows编译Linux程序(OpenMX)?

时间:2019-03-06 08:37:30

标签: mingw lapack blas mpich openmx

openMX代码(http://www.openmx-square.org/download.html)是用于基于密度泛函理论的纳米级材料模拟的软件包。它有一个make文件,其中包含C和fortran编译器可执行文件,库和包含文件,

请参见下文:

CC = mpicc -O3 -fopenmp   -Dnosse -I/usr/include  -I/mirror/fftw/include -I/mirror/mpich/include
FC = mpif90 -O3 -fopenmp  -Dnosse -I/usr/include  -I/mirror/fftw/include -I/mirror/mpich/include

LIB=-L/mirror/lib -llapack -lblas -lfftw3 -L/mirror/mpich -lmpi -lmpicxx -lmpifort  -lpthread -lgfortran

我想为Windows编译该程序,因为它可以独立运行。 我不知道MinGw有可能吗?如何为mingw使用mpicc和mpif90编译器以及lapack,blas和fftw3库?

谢谢

1 个答案:

答案 0 :(得分:0)

好。几件事情:

  1. mpicc / mpif90是包装器,它们添加适当的编译/链接标志。不需要它们可用于构建程序。
  2. 在我看来,
  3. MinGW曾经是在Windows上运行的方式。如今,我将投入精力为该项目设置CMake,并实际上使用VisualStudio进行构建。
  4. 如果要使用gcc等进行构建,那完全可以,但是我不会使用MinGW,但是会在Linux上进行交叉编译。确实节省了时间。在MinGW下,与Linux交叉编译时,配置脚本有时需要10倍甚至更长的时间才能完成。
  5. MPI在Windows上并不那么简单。您需要具有域身份验证的Windows域,MPI才能正常工作。相当于您的ssh公钥。

    例如,检查此页面:https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html