merci pour votre réponse.
En fait tout ce que je fait est générer la bibliothèque statique 'hdfeos' qui elle même fait appel aux fonctions de 'mfhdf.h'. Donc en construisant la bibliothèque je précise bien les chemins vers HDF4\lib ou se trouve 'mfhdf.lib' et vers HDF4\include ou se trouve 'mfhdf.h' et j'ajoute Hdf4\bin qui contient des dll hdf et mfhdf au path (variables d’environnement).
A l’intérieur de 'mfhdf.h', les fonctions qui posent problème sont définies ainsi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| HDFLIBAPI int32 SDstart
(const char *name, int32 accs);
HDFLIBAPI intn SDend
(int32 fid);
HDFLIBAPI intn SDfileinfo
(int32 fid, int32 *datasets, int32 *attrs);
HDFLIBAPI int32 SDselect
(int32 fid, int32 idx);
HDFLIBAPI intn SDgetinfo
(int32 sdsid, char *name, int32 *rank, int32 *dimsizes,
int32 *nt, int32 *nattr); |
et voici le début de 'SWapi.c' un des 4 fichiers de la bibliothèque a générer hdfeos2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include "mfhdf.h"
#include "hcomp.h"
#include "cfortHdf.h"
#include "HdfEosDef.h"
#include <math.h>
/* if HDF4 is configured with SZIP */
#ifdef H4_HAVE_SZLIB_H
#include "szlib.h"
#endif
#define SWIDOFFSET 1048576
int32 SWX1dcomb[512*3];
int32 SWXSDcomb[512*5];
char SWXSDname[HDFE_NAMBUFSIZE];
char SWXSDdims[HDFE_DIMBUFSIZE]; |
qui donnera plus tard par exemple cette erreur :
Erreur 5 error LNK2001: symbole externe non résolu __imp__SDendaccess hdfeosd.lib(SWapi.obj) Test
Un autre détail qui me revient et qui pourrait peut être la cause du problème, est que je VS a converti le code au début parce qu'il était généré dans une version antérieure.
Merci pour votre aide et votre temps !
Partager