cmake を使用して MPI プログラムの Makefile を生成しようとしています。私が抱えている問題は、mpicc のみがインストールされている (正しく動作している) ことです。mpicxx は PATH にありますが、他のインストールからのものです (私のシステムには複数の MPI がインストールされています)。mpicxx は使用せず、mpicc (および mpicc のインクルード ファイルとライブラリ) のみを使用します。
ベローはややハードコードされた取り組みであり、機能します
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 (共有ライブラリ) を生成する方法を教えていただけると助かります。
ありがとう