【问题标题】:Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) with MS-MPI on CLion在 CLion 上找不到带有 MS-MPI 的 MPI(缺少:MPI_C_FOUND MPI_CXX_FOUND)
【发布时间】:2021-03-08 22:34:31
【问题描述】:

我用 CLion 开始了一个新的 C 项目,并想使用 MPI。因为我在 Windows 上,所以我安装了 MS-MPI(MSMPI 和 SDK),并且我的 CMakeLists.txt 如下:

cmake_minimum_required(VERSION 3.10)
project(ppc)

set(CMAKE_C_STANDARD 11)

find_package(MPI REQUIRED)
add_executable(ppc main.c)
target_link_libraries(main PRIVATE MPI::MPI_C)

问题是每当我尝试导入/重新加载项目时,都会收到以下错误:

C:\Users\frani\AppData\Local\JetBrains\CLion2020.2\cygwin_cmake\bin\cmake.exe -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/usr/bin/make.exe -DCMAKE_CXX_COMPILER=/usr/bin/g++.exe -G "CodeBlocks - Unix Makefiles" /cygdrive/d/Dev/CLionProjects/ppc
-- Could NOT find MPI_C (missing: MPI_C_LIB_NAMES MPI_C_HEADER_DIR MPI_C_WORKS) 
-- Could NOT find MPI_CXX (missing: MPI_CXX_LIB_NAMES MPI_CXX_HEADER_DIR MPI_CXX_WORKS) 
CMake Error at /cygdrive/c/Users/frani/AppData/Local/JetBrains/CLion2020.2/cygwin_cmake/share/cmake-3.17.3/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
  Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)

      Reason given by package: MPI component 'Fortran' was requested, but language Fortran is not enabled.  

Call Stack (most recent call first):
  /cygdrive/c/Users/frani/AppData/Local/JetBrains/CLion2020.2/cygwin_cmake/share/cmake-3.17.3/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
  /cygdrive/c/Users/frani/AppData/Local/JetBrains/CLion2020.2/cygwin_cmake/share/cmake-3.17.3/Modules/FindMPI.cmake:1717 (find_package_handle_standard_args)
  CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!
See also "/cygdrive/d/Dev/CLionProjects/ppc/cmake-build-debug/CMakeFiles/CMakeOutput.log".
See also "/cygdrive/d/Dev/CLionProjects/ppc/cmake-build-debug/CMakeFiles/CMakeError.log".

[Finished]

我的文件有什么问题?

【问题讨论】:

    标签: c cmake mpi


    【解决方案1】:

    尝试在您的 project 声明之后添加:

    enable_language(Fortran)
    

    (https://cmake.org/cmake/help/latest/command/enable_language.html)

    【讨论】:

    • 我试过了,必须设置 Fortran 编译器(set(CMAKE_Fortran_COMPILER "C:\\Program Files (x86)\\Simply Fortran 3\\mingw-w64\\bin\\gfortran.exe")),但随后由于无法通过 windows \ char(error)而出错
    • 你必须在编译器路径中转义空格
    猜你喜欢
    • 2021-10-02
    • 1970-01-01
    • 2017-05-03
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多