我已經實現了使用自定義的工作文件處理的PNGLIB提供自定義文件IO:與libjpeg的
png_set_read_fn(png_ptr, file, myReadFn);
png_set_write_fn(png_ptr, file, mywriteFn);
而不是png_init_io(png_ptr, fp);
它採用標準的fread,fwrite的調用。
我現在想用libjpeg實現同樣的事情。
它看起來不像是有一個簡單的函數傳遞解決方案,如pnglib庫。所以我編輯了ligjpeg的jinclude.h,所以宏JFREAD和JFWRITE現在分別調用myReadFn和myWriteFn。這也需要添加包含myReadFn和myWriteFn的聲明。
添加include會導致許多libjpeg文件出現編譯錯誤,從我讀過的內容看來,當libjpeg爲'C'編譯時,似乎試圖編譯爲C++。
2> jutils.c
C:\ Program Files文件(x86)的\微軟的Visual Studio 12.0 \ VC \包括\ xtgmath.h(214):警告C4602:的#pragma pop_macro: '新' 以前沒有此標識符的#pragma push_macro
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ include \ xtgmath.h(215):warning C4193:#pragma warning(pop):no matching'#pragma警告(推)'
C:\ Program Files文件(x86)\ Microsoft Visual Studio 12.0 \ VC \ include \ xtgmath.h(216):warning C4161:#pragma pack(pop ...):more pops than推
C:\程序文件(x86)\微軟的Visual Studio 12.0 \ VC \包括\ CMATH(23):錯誤C2061:語法錯誤:標識符 'ABS' ...... //更多的負載
的jinclude.h東西被證明是一個紅色的鯡魚,所以我回復,早實施了根據您的建議定製經理。謝謝! – Hinchy