Dear k-Wave,
When compiling the CUDA source code on Linux (HPC cluster, dynamic linking), I encountered a possible small bug in the HDF5 source code. According to the error message below, the file "Hdf5/Hdf5File.h" should contain the "#include <string>" directive. After including this statement, the binary files could be compiled for CUDA version. This might be of your interest for a future release.
Small snippet of encountered error:
In file included from ./MatrixClasses/BaseMatrix.h:36,
from ./MatrixClasses/BaseFloatMatrix.h:35,
from ./MatrixClasses/RealMatrix.h:35,
from ./OutputStreams/BaseOutputStream.h:35,
from ./OutputStreams/WholeDomainOutputStream.h:35,
from OutputStreams/WholeDomainOutputStream.cpp:33:
./Hdf5/Hdf5File.h:471:25: error: ‘string’ in namespace ‘std’ does not name a type
471 | using MatrixName = std::string;
| ^~~~~~
./Hdf5/Hdf5File.h:467:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
466 | #include <map>
+++ |+#include <string>
467 |
./Hdf5/Hdf5File.h:529:28: error: ‘string’ in namespace ‘std’ does not name a type
529 | void create(const std::string& fileName,
| ^~~~~~
Kind regards,
Daniek