cmake 检测Fortran编译器ABI信息-失败

w8rqjzmb  于 2023-06-06  发布在  其他
关注(0)|答案(1)|浏览(544)

当尝试在getdp项目上使用cmake时,出现标题中提到的错误。我正在Windows中使用Visual Studio Community 2019。我已经安装了InterFortran编译器。以下是更完整的错误:

-- The Fortran compiler identification is Intel 2021.4.0.20210910
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - failed
-- Check for working Fortran compiler: C:/Program Files (x86)/Intel/oneAPI/compiler/2021.4.0/windows/bin/intel64/ifort.exe
-- Check for working Fortran compiler: C:/Program Files (x86)/Intel/oneAPI/compiler/2021.4.0/windows/bin/intel64/ifort.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.21/Modules/CMakeTestFortranCompiler.cmake:54 (message):
  The Fortran compiler

    "C:/Program Files (x86)/Intel/oneAPI/compiler/2021.4.0/windows/bin/intel64/ifort.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: C:/Users/*/source/repos/getdp/build/CMakeFiles/CMakeTmp

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

    Package 'IFLangServicePackage' failed to load.

    Package 'IFLangServicePackage' failed to load.

    The operation could not be completed. The parameter is incorrect.

    Use:
    devenv  [solutionfile | projectfile | folder | anyfile.ext]  [switches]

有些pages会要求你指明编译器的路径。但那没用。Disabling Windows Defender也不工作。
会有什么问题呢?

yvt65v4c

yvt65v4c1#

如果您可以将“英特尔C/C++”编译器与“英特尔Fortran”配合使用,而不是使用Visual Studio,则在CMake修复错误之前,使用Ninja生成器是一种解决方法。

cmake -G Ninja

这需要在PATH上设置Ninja

相关问题