我正在尝试使用cmake为MPI程序生成Makefile。我遇到的问题是,我只安装了mpicc(工作正常)。mpicxx位于PATH中,但来自其他安装(我的系统上安装了多个MPIs)。我不想使用mpicxx,只想使用mpicc(以及mpicc的include文件和库)。
贝娄是一个有点硬编码的作品,它很有效
cmake_minimum_required(VERSION 2.8)
PROJECT(mympihello)
ADD_EXECUTABLE(hellompi hellompi.c)
SET(CMAKE_C_COMPILER mpicc)
target_link_libraries(hellompi /export/home2/SEECS/bibrak/work/programs/installs/mpich3/include)
以下是通用方法(据我所知),我想使用这种方法,但强制不使用mpicxx(找不到它,放弃mpicxx)
cmake_minimum_required(VERSION 2.8)
PROJECT(mympihello)
ADD_EXECUTABLE(hellompi hellompi.c)
# Require MPI for this project:
find_package(MPI REQUIRED)
set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})
include_directories(MPI_INCLUDE_PATH)
target_link_libraries(hellompi ${MPI_LIBRARIES})
此外,告诉我如何为使用MPI的程序生成.so(共享库)将很有帮助。
谢谢