diff -rupN --no-dereference jasper-version-2.0.17/src/libjasper/include/jasper/jas_image.h jasper-version-2.0.17-new/src/libjasper/include/jasper/jas_image.h
--- jasper-version-2.0.17/src/libjasper/include/jasper/jas_image.h 2020-07-18 18:34:43.000000000 +0200
+++ jasper-version-2.0.17-new/src/libjasper/include/jasper/jas_image.h 2020-07-20 17:27:47.688934136 +0200
@@ -507,10 +507,10 @@ int jas_image_ishomosamp(const jas_image
int jas_image_sampcmpt(jas_image_t *image, int cmptno, int newcmptno,
jas_image_coord_t ho, jas_image_coord_t vo, jas_image_coord_t hs,
jas_image_coord_t vs, int sgnd, int prec);
-int jas_image_writecmpt2(jas_image_t *image, int cmptno, jas_image_coord_t x,
+JAS_DLLEXPORT int jas_image_writecmpt2(jas_image_t *image, int cmptno, jas_image_coord_t x,
jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height,
long *buf);
-int jas_image_readcmpt2(jas_image_t *image, int cmptno, jas_image_coord_t x,
+JAS_DLLEXPORT int jas_image_readcmpt2(jas_image_t *image, int cmptno, jas_image_coord_t x,
jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height,
long *buf);
@@ -560,23 +560,23 @@ int bmp_validate(jas_stream_t *in);
#if !defined(EXCLUDE_JP2_SUPPORT)
/* Format-dependent operations for JP2 support. */
-jas_image_t *jp2_decode(jas_stream_t *in, const char *optstr);
-int jp2_encode(jas_image_t *image, jas_stream_t *out, const char *optstr);
-int jp2_validate(jas_stream_t *in);
+JAS_DLLEXPORT jas_image_t *jp2_decode(jas_stream_t *in, const char *optstr);
+JAS_DLLEXPORT int jp2_encode(jas_image_t *image, jas_stream_t *out, const char *optstr);
+JAS_DLLEXPORT int jp2_validate(jas_stream_t *in);
#endif
#if !defined(EXCLUDE_JPC_SUPPORT)
/* Format-dependent operations for JPEG-2000 code stream support. */
-jas_image_t *jpc_decode(jas_stream_t *in, const char *optstr);
-int jpc_encode(jas_image_t *image, jas_stream_t *out, const char *optstr);
-int jpc_validate(jas_stream_t *in);
+JAS_DLLEXPORT jas_image_t *jpc_decode(jas_stream_t *in, const char *optstr);
+JAS_DLLEXPORT int jpc_encode(jas_image_t *image, jas_stream_t *out, const char *optstr);
+JAS_DLLEXPORT int jpc_validate(jas_stream_t *in);
#endif
#if !defined(EXCLUDE_PGX_SUPPORT)
/* Format-dependent operations for PGX support. */
-jas_image_t *pgx_decode(jas_stream_t *in, const char *optstr);
-int pgx_encode(jas_image_t *image, jas_stream_t *out, const char *optstr);
-int pgx_validate(jas_stream_t *in);
+JAS_DLLEXPORT jas_image_t *pgx_decode(jas_stream_t *in, const char *optstr);
+JAS_DLLEXPORT int pgx_encode(jas_image_t *image, jas_stream_t *out, const char *optstr);
+JAS_DLLEXPORT int pgx_validate(jas_stream_t *in);
#endif
#ifdef __cplusplus
diff -rupN --no-dereference jasper-version-2.0.17/src/libjasper/jp2/jp2_cod.h jasper-version-2.0.17-new/src/libjasper/jp2/jp2_cod.h
--- jasper-version-2.0.17/src/libjasper/jp2/jp2_cod.h 2020-07-18 18:34:43.000000000 +0200
+++ jasper-version-2.0.17-new/src/libjasper/jp2/jp2_cod.h 2020-07-20 17:27:47.688934136 +0200
@@ -287,10 +287,10 @@ typedef struct jp2_boxinfo_s {
* Box class.
\******************************************************************************/
-jp2_box_t *jp2_box_create(int type);
-void jp2_box_destroy(jp2_box_t *box);
-jp2_box_t *jp2_box_get(jas_stream_t *in);
-int jp2_box_put(jp2_box_t *box, jas_stream_t *out);
+JAS_DLLEXPORT jp2_box_t *jp2_box_create(int type);
+JAS_DLLEXPORT void jp2_box_destroy(jp2_box_t *box);
+JAS_DLLEXPORT jp2_box_t *jp2_box_get(jas_stream_t *in);
+JAS_DLLEXPORT int jp2_box_put(jp2_box_t *box, jas_stream_t *out);
#define JP2_DTYPETOBPC(dtype) \
((JAS_IMAGE_CDT_GETSGND(dtype) << 7) | (JAS_IMAGE_CDT_GETPREC(dtype) - 1))