La compilation de la librairie FreeImage 3.14.1 sous Ubuntu 10.10 gènère cette erreur:
In file included from Source/OpenEXR/IlmImf/ImfChromaticities.h:47, from Source/OpenEXR/./IlmImf/ImfChromaticities.cpp:43: Source/OpenEXR/Imath/ImathMatrix.h: In constructor ‘Imath::Matrix44::Matrix44() [with T = float]’: Source/OpenEXR/./IlmImf/ImfChromaticities.cpp:110: instantiated from here Source/OpenEXR/Imath/ImathMatrix.h:1813: error: ‘memset’ was not declared in this scope
La solution à ce problème: ajouter l’include string.h dans le fichier
Source/OpenEXR/Imath/ImathMatrix.h:
#include "ImathPlatform.h" #include "ImathFun.h" #include "ImathExc.h" #include "ImathVec.h" #include "ImathShear.h" #include <iostream> #include <iomanip> #if (defined _WIN32 || defined _WIN64) && defined _MSC_VER // suppress exception specification warnings #pragma warning(disable:4290) #endif #include <string.h> namespace Imath { ... ...
Après cette modif, la compilation du projet complet FreeImage avec make devrait se dérouler sans problème.