MinGW 编译freeimage出错

1.因为使用的是qt的mingw4.9.1,并且挂接在MSYS2上使用的
修改Makefile,以保证使用Makefile.mingw来进行编译

ifeq ($(OS), MINGW491_32_NT-10.0)
    MAKEFILE = mingw
endif
  

2.因为本身mingw提供了一份guiddef.h,所有要删除代码中同名的文件
mv Source/LibJXR/common/include/guiddef.h Source/LibJXR/common/include/guiddef.h.bak
删除冲突:
Source/LibJXR/image/sys/strcodec.c 第674到682行

U32 _byteswap_ulong(U32 bits)
{
    U32 r = (bits & 0xffu) << 24;
    r |= (bits << 8) & 0xff0000u;
    r |= ((bits >> 8) & 0xff00u);
    r |= ((bits >> 24) & 0xffu);

    return r;
}

3.make
生成对应的文件
Dist/FreeImage.dll
Dist/FreeImage.lib
Dist/FreeImage.h

4.拷贝到你的路径里面,然后使用吧。

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在C/C++分类目录。将固定链接加入收藏夹。