Hi Pals:
Fail when compile emacs with jpeg library on MinGW32, then change the
code to follow clip will compile successful,
@@ -6189,7 +6189,7 @@ jpeg_image_p (Lisp_Object object)
different name. This name, jpeg_boolean, remains in effect through
the rest of image.c.
*/
-#if defined CYGWIN && defined HAVE_NTGUI
+#if defined HAVE_NTGUI
#define boolean jpeg_boolean
#endif
#include <jpeglib.h>
and the configure command is:
../emacs-24.4.src/configure --with-w32
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/d/MinGW/lib/pkgconfig:/d/MinGW/mingw32/lib/pkgconfig:/d/MinGW/sys-root/lib/pkgconfig
CFLAGS="-I/d/MinGW/sys-root/include -I/mingw/include
-I/mingw/mingw32/include" LDFLAGS="-L/d/MinGW/sys-root/lib -L/mingw/lib
-L/mingw/mingw32/lib"
The error message without modification as follow:
gcc -std=gnu99 -c -mtune=pentium4 -DUSE_CRT_DLL=1 -I /d/mydata/home/user123/work-dev/emacs-24.4.mingw/../emacs-24.4.src/nt/inc -Demacs -I. -I../../emacs-24.4.src/src -I../lib -I../../emacs-24.4.src/src/../lib -mtune=pentium4
-Id:/MinGW/sys-root/include/libxml2 -MMD -MF deps/image.d -MP -I/d/MinGW/sys-root/include -I/mingw/include -I/mingw/mingw32/include ../../emacs-24.4.src/src/image.c
../../emacs-24.4.src/src/image.c:1843:68: error: expected declaration specifiers or '...' before '*' token
#define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
^
../../emacs-24.4.src/src/image.c:6203:1: note: in expansion of macro 'DEF_IMGLIB_FN'
DEF_IMGLIB_FN (boolean, jpeg_start_decompress, (j_decompress_ptr));
^
../../emacs-24.4.src/src/image.c:1843:68: error: expected declaration specifiers or '...' before '*' token
#define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
^
../../emacs-24.4.src/src/image.c:6204:1: note: in expansion of macro 'DEF_IMGLIB_FN'
DEF_IMGLIB_FN (boolean, jpeg_finish_decompress, (j_decompress_ptr));
^
../../emacs-24.4.src/src/image.c:6206:58: error: unknown type name 'boolean'
DEF_IMGLIB_FN (int, jpeg_read_header, (j_decompress_ptr, boolean));
^
../../emacs-24.4.src/src/image.c:1843:79: note: in definition of macro 'DEF_IMGLIB_FN'
#define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
^
../../emacs-24.4.src/src/image.c:1843:68: error: expected declaration specifiers or '...' before '*' token
#define DEF_IMGLIB_FN(rettype,func,args) static rettype (FAR CDECL *fn_##func)args
^
../../emacs-24.4.src/src/image.c:6209:1: note: in expansion of macro 'DEF_IMGLIB_FN'
DEF_IMGLIB_FN (boolean, jpeg_resync_to_restart, (j_decompress_ptr, int));
^
../../emacs-24.4.src/src/image.c: In function 'init_jpeg_functions':
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_finish_decompress' undeclared (first use in this function)
fn_##func = (void *) GetProcAddress (lib, #func); \
^
../../emacs-24.4.src/src/image.c:6219:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
LOAD_IMGLIB_FN (library, jpeg_finish_decompress);
^
../../emacs-24.4.src/src/image.c:1847:5: note: each undeclared identifier is reported only once for each function it appears in
fn_##func = (void *) GetProcAddress (lib, #func); \
^
../../emacs-24.4.src/src/image.c:6219:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
LOAD_IMGLIB_FN (library, jpeg_finish_decompress);
^
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_start_decompress' undeclared (first use in this function)
fn_##func = (void *) GetProcAddress (lib, #func); \
^
../../emacs-24.4.src/src/image.c:6221:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
LOAD_IMGLIB_FN (library, jpeg_start_decompress);
^
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_read_header' undeclared (first use in this function)
fn_##func = (void *) GetProcAddress (lib, #func); \
^
../../emacs-24.4.src/src/image.c:6222:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
LOAD_IMGLIB_FN (library, jpeg_read_header);
^
../../emacs-24.4.src/src/image.c:1847:5: error: 'fn_jpeg_resync_to_restart' undeclared (first use in this function)
fn_##func = (void *) GetProcAddress (lib, #func); \
^
../../emacs-24.4.src/src/image.c:6226:3: note: in expansion of macro 'LOAD_IMGLIB_FN'
LOAD_IMGLIB_FN (library, jpeg_resync_to_restart);
^
../../emacs-24.4.src/src/image.c: At top level:
../../emacs-24.4.src/src/image.c:6233:1: error: unknown type name 'boolean'
jpeg_resync_to_restart_wrapper (j_decompress_ptr cinfo, int desired)
^
../../emacs-24.4.src/src/image.c: In function 'jpeg_resync_to_restart_wrapper':
../../emacs-24.4.src/src/image.c:6235:3: warning: implicit declaration of function 'fn_jpeg_resync_to_restart' [-Wimplicit-function-declaration]
return fn_jpeg_resync_to_restart (cinfo, desired);
^
../../emacs-24.4.src/src/image.c: At top level:
../../emacs-24.4.src/src/image.c:6303:1: error: unknown type name 'boolean'
our_memory_fill_input_buffer (j_decompress_ptr cinfo)
^
../../emacs-24.4.src/src/image.c:6367:3: error: unknown type name 'boolean'
boolean finished;
^
../../emacs-24.4.src/src/image.c:6382:1: error: unknown type name 'boolean'
our_stdio_fill_input_buffer (j_decompress_ptr cinfo)
^
../../emacs-24.4.src/src/image.c: In function 'jpeg_load_body':
../../emacs-24.4.src/src/image.c:6561:3: warning: implicit declaration of function 'fn_jpeg_read_header' [-Wimplicit-function-declaration]
fn_jpeg_read_header (&mgr->cinfo, 1);
^
../../emacs-24.4.src/src/image.c:6566:3: warning: implicit declaration of function 'fn_jpeg_start_decompress' [-Wimplicit-function-declaration]
fn_jpeg_start_decompress (&mgr->cinfo);
^
../../emacs-24.4.src/src/image.c:6634:3: warning: implicit declaration of function 'fn_jpeg_finish_decompress' [-Wimplicit-function-declaration]
fn_jpeg_finish_decompress (&mgr->cinfo);
^
make[1]: *** [image.o] Error 1
make[1]: Leaving directory `/d/mydata/home/user123/work-dev/emacs-24.4.mingw/src'
make: *** [src] Error 2
Best Regards
Sunline