- Created by Mike McGreevy, last modified by Barbara Jones on Aug 28, 2019
Jump to ...
Switch language ...
h5cc - h5pcc
Helper scripts to compile HDF5 C applications
h5cc [OPTIONS] <compile line> h5pcc [OPTIONS] <compile_line>
h5pcccan be used in much the same way as
mpiccby MPICH is used to compile an HDF5 program. These tools take care of specifying on the command line the locations of the HDF5 header files and libraries.
h5ccis for use in serial computing environments;
h5pccis for parallel environments.
h5pcc subsume all other compiler scripts in that if you have used a set of scripts to compile the HDF5 library, then
h5pcc also use those scripts. For example, when compiling an MPICH program, you use the
mpicc script. If you have built HDF5 using MPICH, then
h5cc uses the MPICH program for compilation.
Some programs use HDF5 in only a few modules. It is not necessary to use
h5pcc to compile those modules which do not use HDF5. In fact, since
h5pcc are only convenience scripts, you can still compile HDF5 modules in the normal manner, though you will have to specify the HDF5 libraries and include paths yourself. Use the
-show option to see the details. For example, running
h5cc for an HDF5 library built using
szlib, all installed in
/usr/local/lib would provide this compile command:
gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \ -D_BSD_SOURCE -L/usr/local/lib /usr/local/lib/libhdf5_hl.a \ /usr/local/lib/libhdf5.a /usr/local/lib/libsz.a /usr/local/lib/libz.a \ -lm -W1,-rpath -W1,/usr/local/lib [OPTIONS]<compile line>
An example of how to use
h5cc to compile the program
hdf_prog, which consists of the modules
prog2.c and uses the HDF5 shared library, would be as follows.
h5pcc is used in an identical manner.
# h5cc -c prog1.c # h5cc -c prog2.c # h5cc -shlib -o hdf_prog prog1.o prog2.o
Options and Parameters:
|Prints a help message.|
|Show all the shell commands executed.|
|Use the directory |
Default: prefix specified when configuring HDF5.
|Show the commands without executing them.|
|Compile using shared HDF5 libraries. |
Default for HDF5 built without static libraries.
|Compile using static HDF5 libraries. |
Default for HDF5 built with static libraries.
|<compile line>||The normal compile line options for your compiler. |
When set, these environment variables override some of the built-in
|Use a different C compiler.|
|Use a different linker.|
|Use shared version of the HDF5 library. |
Default: no, except when HDF5 built with only shared libraries.
|Use additional preprocessor flags.|
|Use additional C compiler flags.|
|Use additional library paths.|
|Use additional libraries.|
The last four of these environment variables have corresponding variables with names ending in
BASE that can also be set by editing their values in the "Things You Can Modify to Override HDF5 Library Build Components" section of the
Note that adding library paths to
HDF5_LDFLAGS where another HDF5 version is located may link your program with that other HDF5 Library version.
|> 0||An error occurred.|
|1.8.12||Tool modified to switch default to link to shared libraries when HDF5 configured with |
|1.8.6||Four compiler flags and environment variables added.|
|1.8.5||Tool exit status codes updated.|
--- Last Modified: August 28, 2019 | 08:47 AM