GreycLab / CImg

The CImg Library is a small and open-source C++ toolkit for image processing
http://cimg.eu
Other
1.46k stars 278 forks source link

CImg in VS2010 MFC Project #387

Closed GadgieGaji closed 3 months ago

GadgieGaji commented 1 year ago

I'm trying to use CImg in an older project, but I'm having issues. Even after using #define cimg_use_cpp11 0 I get compiler errors about erf not being a member of std. (e.g. from this line (20526): if (_cimg_mp_is_const_scalar(arg1)) _cimg_mp_const_scalar(std::erf(mem[arg1]));).

Should / can I tweak the current version of CImg to work, or should I be using an earlier version? All I really need is to be able to determine the pixel dimensions of JPG, BMP, GIF, PNG, TIF, and PSD images.

dtschump commented 1 year ago

I've done some modifications to allow the compilation of CImg with c++98 standard. You may want to try with this file : https://raw.githubusercontent.com/GreycLab/CImg/develop/CImg.h

GadgieGaji commented 1 year ago

I've done some modifications to allow the compilation of CImg with c++98 standard. You may want to try with this file : https://raw.githubusercontent.com/GreycLab/CImg/develop/CImg.h

Thanks that seems to be an improvement. Though I added: #pragma warning(disable:4995) // name was marked as #pragma deprecated #pragma warning(disable:4307) // integral constant overflow

and also Line 30265 gives: error C2666: 'pow' : 6 overloads have similar conversions so needs to be like:

for (longT off = 0; off<(longT)siz; ++off) res+=(double)std::pow((float)cimg::abs(_data[off]),magnitude_type);

dtschump commented 1 year ago

Thanks for the info, I've added this : https://github.com/GreycLab/CImg/commit/6099cf166f3f95e8aaa7c2b30754694eeb082989