Tag: freeimage

NDK错误…在做ndk-build时

尝试执行NDK构建时出现以下错误…任何人都可以帮助我吗? lmImf/ImfHuf.cpp:133: undefined reference to `__cxa_throw’ ./obj/local/armeabi-v7a/libfreeimage.a(ImfHuf.o): In function `Imf::(anonymous namespace)::invalidTableEntry()’: D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfHuf.cpp:141: undefined reference to `__cxa_allocate_exception’ D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfHuf.cpp:141: undefined reference to `__cxa_throw’ ./obj/local/armeabi-v7a/libfreeimage.a(ImfHuf.o): In function `Imf::(anonymous namespace)::tooMuchData()’: D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfHuf.cpp:93: undefined reference to `__cxa_allocate_exception’ D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfHuf.cpp:93: undefined reference to `__cxa_throw’ ./obj/local/armeabi-v7a/libfreeimage.a(ImfHuf.o): In function `Imf::(anonymous namespace)::invalidCode()’: D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfHuf.cpp:109: undefined reference to `__cxa_allocate_exception’ D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfHuf.cpp:109: undefined reference to `__cxa_throw’ ./obj/local/armeabi-v7a/libfreeimage.a(ImfHuf.o): In function `invalidTableSize’: […]

为什么FreeImage以BGR格式加载图像?

我使用Android NDK和FreeImage库编写游戏,将图像加载到我的游戏中。 它以BGR格式加载图像。 可以加载RGB格式吗? 或者我需要手动交换R和B组件? 编辑 我的设备是三星Galaxy S4(armv7 archtecture)。 这是代码` FIMEMORY* fiStream = FreeImage_OpenMemory((BYTE*)data, size); FREE_IMAGE_FORMAT fif = FreeImage_GetFileTypeFromMemory(fiStream); if (FreeImage_FIFSupportsReading(fif)) { dib = FreeImage_LoadFromMemory(fif, fiStream, 0); } if (!dib) return; data_ = FreeImage_GetBits(dib); width_ = FreeImage_GetWidth(dib); height_ = FreeImage_GetHeight(dib); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width_, height_, 0, GL_RGB, GL_UNSIGNED_BYTE, data_ );

Typedef和enum具有相同的名称?

在FreeImagePlus库中,在FreeImage.h ,有一个有趣的#define似乎创建了一个typedef和一个具有相同名称的enum : #define FI_ENUM(x) typedef int x; enum x 这由预处理器扩展为代码,如: typedef int FREE_IMAGE_FILTER; enum FREE_IMAGE_FILTER { FILTER_BOX = 0, FILTER_BICUBIC = 1, […] 这是做什么的? 拥有一个typedef和一个同名的enum是否合法? 并不是一个与int兼容的enum ? 为什么FreeImage会这样做?