Компилятор MinGW gfortran не может скомпилировать простую тестовую программу - PullRequest
0 голосов
/ 12 марта 2020

После этого поста я пытаюсь скомпилировать Elmer FEM на Windows с использованием компиляторов MinGW. Однако при запуске команды

cmake -DCMAKE_C_COMPILER=C:\\MinGW\\bin\\gcc.exe -DCMAKE_CXX_COMPILER=C:\\MinGW\\bin\\g++.exe -DCMAKE_Fortran_COMPILER=C:\\MinGW\\bin\\gfortran.exe ..

в папке build я получаю сообщение об ошибке:

-- Selecting Windows SDK version 10.0.17134.0 to target Windows 10.0.18363.
-- The Fortran compiler identification is unknown
-- Check for working Fortran compiler: C:\MinGW\bin\gfortran.exe
-- Check for working Fortran compiler: C:\MinGW\bin\gfortran.exe  -- broken
CMake Error at C:/Program Files/CMake/share/cmake-3.16/Modules/CMakeTestFortranCompiler.cmake:45 (message):
  The Fortran compiler

    "C:\MinGW\bin\gfortran.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: C:/Users/foobar/Desktop/elmer/elmerfem/build/CMakeFiles/CMakeTmp

    Run Build Command(s):C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/devenv.com CMAKE_TRY_COMPILE.sln /build Debug /project cmTC_8d573 &&
    Microsoft Visual Studio 2017 Version 15.0.28010.2050.
    Copyright (C) Microsoft Corp. All rights reserved.

    Some errors occurred during migration. For more information, see the migration report:
    C:\Users\foobar\Desktop\elmer\elmerfem\build\CMakeFiles\CMakeTmp\UpgradeLog.htm

    Invalid project

из здесь Я попытался добавить

set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")

в файл CmakeLists.txt, запустив cmd в качестве администратора с здесь и с здесь попытался удалить (из Chocolatey) и переустановить MinGW из оригинальный сайт безрезультатно. Буду признателен, если вы поможете мне узнать, в чем проблема и как я могу ее решить.

PS Чтобы решить вышеупомянутую проблему, воспользуйтесь командой:

cmake -DCMAKE_C_COMPILER=C:/MinGW/bin/gcc.exe -DCMAKE_CXX_COMPILER=C:/MinGW/bin/g++.exe -DCMAKE_Fortran_COMPILER=C:/MinGW/bin/gfortran.exe -DCMAKE_MAKE_PROGRAM=C:/MinGW/bin/mingw32-make.exe .. -G "MinGW Makefiles"

Но тогда возникает проблема с BLAS. Я пытаюсь решить. это с помощью MSYS2

...