![](/img/trans.png)
[英]HDF5 C++ : I need get Group list, Dataset list, Attribute list in HDF5 file
[英]How do I compile a C++ file that uses both MPI and HDF5?
我正在創建 *.h5 文件,所以我一直在編譯:
h5c++ -o output myFile.cpp
但是,我添加了 MPI 以加速其中一節中的代碼。 同樣的編譯給了我一個未定義的參考錯誤。
undefined reference to `MPI_Init'
如何編譯代碼以便可以使用 MPI 和 HDF5?
您可以告訴 HDF5 包裝器使用 MPI 包裝器而不是您的 C++ 編譯器。 例如,如果您的 MPI 包裝器是mpiCC
,您可以簡單地
export HDF5_CXX=mpiCC
export HDF5_CLINKER=mpiCC
[此答案已被編輯]
mpicc
和h5cc
(以及它們的 C++ 對應物)都不是編譯器,而只是包裝器,它們只會在編譯器調用中添加一些標志。 這些標志通常包括鏈接庫和包含路徑。 您實際上可以檢查它們!
$ mpicc --showme # OpenMPI
$ mpicc -show # MPICH
$ h5cc -show
所以你的問題的答案是:使用來自兩個包裝器的所有標志進行編譯器調用。
然而,通常你應該把它留給像 CMake 這樣的構建系統,它將組裝所有相關的編譯器標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.