diff -ruN enca-1.18-orig/configure.ac enca-1.18/configure.ac
--- enca-1.18-orig/configure.ac	2016-01-07 19:40:26.000000000 +1100
+++ enca-1.18/configure.ac	2016-01-19 18:53:00.069580800 +1100
@@ -38,13 +38,14 @@
 AC_GNU_SOURCE
 AC_AIX
 AC_ISC_POSIX
-AC_PROG_LIBTOOL
 AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PATH_PROG(MKTEMP_PROG, mktemp)

+LT_INIT
+
 dnl With GCC, be paranoiac.  It should compile really cleanly.
 dnl Except -Wno-sign-compare, but older gcc's don't know it.
 if test "$GCC" = yes; then
@@ -96,6 +97,14 @@
 dnl And for gtk-doc
 gtk_CHECK_GTK_DOC

+LIBENCA_LDFLAGS=""
+case "$host_os" in
+  mingw*)
+    LIBENCA_LDFLAGS="-no-undefined ${wl}-no-undefined ${wl}-export-all-symbols" ;;
+esac
+AC_MSG_RESULT([$LIBENCA_LDFLAGS])
+AC_SUBST([LIBENCA_LDFLAGS])
+
 dnl Checks for libraries.
 ye_CHECK_LIBM

diff -ruN enca-1.18-orig/lib/Makefile.am enca-1.18/lib/Makefile.am
--- enca-1.18-orig/lib/Makefile.am	2016-01-05 05:12:05.000000000 +1100
+++ enca-1.18/lib/Makefile.am	2016-01-19 18:52:00.644767800 +1100
@@ -6,7 +6,7 @@
 # Any iface change    C++: 0:   A
 # Adding ifaces       C:   R:   A++
 # Changing ifaces     C:   R:   0
-libenca_la_LDFLAGS = -version-info 5:1:5
+libenca_la_LDFLAGS = @LIBENCA_LDFLAGS@ -version-info 5:1:5
 libenca_la_SOURCES = \
   common.c \
   ctype.c \
