Bonjour,

je fais appel à vous car je souhaite utiliser la librairie HDF5 en langage C sous l'environnement Code::Blocks et je n'y parviens pas!
Voici ce que j'ai fait pour l'instant:
- J'ai installé HDF5 version 1.8 sur ma machine (windows 7),
- Dans CodeBlocks, menu projet/build options:
- Dans "Linker settings", j'ai ajouté les fichiers du répertoire /lib de HDF5 (C:\Program Files\HDF_Group\HDF5\1.8.14\lib)
- Dans "Search directories / compiler", j'ai ajouté le répertoire C:\Program Files\HDF_Group\HDF5\1.8.14\include
- Dans "Search directories / linker", j'ai ajouté le répertoire C:\Program Files\HDF_Group\HDF5\1.8.14\lib

Voici mon code, qui est un exemple fourni sur le site d'HDF:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>
#define H5_SIZEOF_SSIZE_T 1
#include "hdf5.h"
#define FILE "h5ex_g_create.h5"
 
int main(void)
{
    hid_t file, group;         /* Handles */
    herr_t status;
 
    /*
    * Create a new file using the default properties.
    */
    file = H5Fcreate (FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
 
    /*
    * Create a group named "G1" in the file.
    */
    group = H5Gcreate (file, "/G1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
 
    /*
    * Close the group.  The handle "group" can no longer be used.
    */
    status = H5Gclose (group);
 
    /*
     * Re-open the group, obtaining a new handle. 
    */
    group = H5Gopen (file, "/G1", H5P_DEFAULT);
 
    /*
     * Close and release resources. 
    */
    status = H5Gclose (group);
    status = H5Fclose (file);
}
Lorsque je tente de compiler, j'ai des erreurs "undefined reference to ..." pour chaque fonction HDF5 utilisée dans mon programme. Il ne bloque pas sur la ligne include hdf5 ni sur la déclaration des variables de type hid_t et herr_t au début.

J'ai tenté de créer des dossiers /lib et /include à la racine de mon projet dans lesquels j'ai copié le contenu des répertoires /lib et /include de HDF5 (en faisant les modifications correspondantes dans le menu "Project / build options"), le résultat est le même.
Je ne sais pas quoi faire pour que cela fonctionne! J'avoue que je ne maîtrise pas très bien ce genre de trucs...

Quand je tape mon code il a l'air de bien reconnaître les fonctions HDF5 (il me propose l'autocomplétion) alors je ne comprends pas pourquoi il ne les reconnait pas à la compilation?

Merci d'avance pour votre aide!