在编译libjpeg然后使用它时,我偶然发现了这个问题:
JPEG parameter struct mismatch: library thinks size is 512, caller expects 492
Run Code Online (Sandbox Code Playgroud)
之后程序停止。这种情况特别是在结构struct jpeg_decompress_struct和上发生的struct jpeg_compress_struct。如果取消了对这些结构的检查,则程序将崩溃,并出现空指针异常,并且结构成员包含垃圾。
从版本6b的预编译二进制文件,或者从版本9a的预编译二进制文件,到版本9a的编译错误都会发生此错误;在Windows(32位)上使用MinGW,MSYS 1.0进行编译。在配置文件中乱七八糟没有帮助;该数字492可以更改,但决不能等于512,以使程序正常运行。
libjpeg编译确实创建了一个有效的cjpeg.exe和djpeg.exe。
有任何想法吗?