c - 如何使用 cmake 编译包含 MPI 的 c 程序

标签 c cmake mpi

我正在尝试将 openmp 和 mpi 技术应用于需要构建“cmake . && make”的开源 C 程序。我已经在 How to set linker flags for OpenMP in CMake's try_compile function 找到了如何包含 -fopenmp 标志但仍然对 mpi 感到困惑。我该怎么办?

最佳答案

OpenMP

这是关于 OpenMP 的问题吗?然后,您所要做的就是使用 -fopenmp 进行编译,您可以将其附加到 CMAKE_C_FLAGS 中,例如:

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp)

理工学院

对于MPI,首先要找到mpi

find_package(MPI) #make it REQUIRED, if you want

然后将它的头文件添加到您的搜索路径

include_directories(SYSTEM ${MPI_INCLUDE_PATH})

最后链接你的程序(在我的例子中是my_mpi_target)

 target_link_libraries(my_mpi_target ${MPI_C_LIBRARIES})

关于c - 如何使用 cmake 编译包含 MPI 的 c 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163075/

相关文章:

cflags '-Wl,-export-dynamic' 与链接器标志 '-export-dynamic'

Fortran 无格式输出,每个 MPI 进程写入数组的一部分

c - Sprintf 连接字符串

c - CUDA 内联汇编从 GAS 到 Intel 的翻译

c++ - 逗号运算符和赋值运算符 - 返回值

c++ - 使用 CMAKE 编译 C++ 文件(无法识别 '-rdynamic')

svn - 如何使用 CMake 和 SVN 对源外构建目录进行版本控制

python - 使用 mpifort 编译程序时包含的模块出现问题

c++ - win32 api 中 _tprintf 的替代 C++ 函数是什么?

c - 如何在C中不使用科学记数法显示大双数?