Компилировать Linux-программу (OpenMX) для Windows с платформой MinGw и такими библиотеками, как MPICH, fftw lapack и BLAS? - PullRequest
0 голосов
/ 06 марта 2019

Код 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

Я хочу скомпилировать эту программу для окон, так как она может быть запущена независимо.Я не знаю, возможно ли это с MinGw?как я могу использовать компиляторы mpicc и mpif90 и библиотеки lapack, blas и fftw3 для mingw?

Спасибо

1 Ответ

0 голосов
/ 07 марта 2019

OK. Пара вещей:

  1. mpicc / mpif90 - это оболочки, которые добавляют правильные флаги компиляции / ссылки. им нет необходимости быть доступными для создания программ.
  2. На мой взгляд, MinGW был подходом для Windows. В настоящее время я бы потратил энергию на настройку CMake для проекта и фактически собрал его с помощью VisualStudio.
  3. Если вы хотите использовать gcc и т. Д. Для сборки, это совершенно нормально, но я бы не стал использовать MinGW, а выполнял кросс-компиляцию в Linux. Это действительно экономит время. Скрипты конфигурирования иногда должны быть в 10 раз длиннее или больше для завершения в MinGW, что при кросс-компиляции с Linux
  4. MPI не так тривиально делается в Windows. Для работы MPI необходим домен Windows с аутентификацией домена. сравнимый с тобой ssh ​​открытый ключ.

    проверьте эту страницу, например: https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html

...