Компилировать Linux-программу (OpenMX) для Windows с платформой MinGw и такими библиотеками, как MPICH,fftw lapack и BLAS?
Код 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? как я могу использовать компиляторы mpicc и mpif90 и библиотеки lapack, blas и fftw3 для mingw?
Спасибо
1 ответ
ХОРОШО. Пара вещей:
- mpicc / mpif90 - это оболочки, которые добавляют правильные флаги компиляции / ссылки. им нет необходимости быть доступными для создания программ.
- MinGW раньше был подходом для Windows на мой взгляд. В настоящее время я бы потратил энергию на настройку CMake для проекта и фактически собрал его с помощью VisualStudio.
- Если вы хотите использовать gcc и т. Д. Для сборки, это совершенно нормально, но я бы не стал использовать MinGW, а выполнял кросс-компиляцию в Linux. Это действительно экономит время. Скрипты конфигурирования иногда должны быть в 10 раз длиннее или больше для завершения в MinGW, что при кросс-компиляции с Linux.
MPI не так тривиально делается в Windows. Для работы MPI необходим домен Windows с аутентификацией домена. сравнимый с тобой открытый ключ ssh.
проверьте эту страницу, например: https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html