diff --git a/configure.ac b/configure.ac
index 60b93a7fd..5563cef24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -206,9 +206,20 @@ AC_ARG_ENABLE(
 AM_CONDITIONAL(HAVE_EVINCE, [test x$useevince = xyes])
 
 if test "x$useevince" = "xyes"; then
+
+    PKG_CHECK_MODULES(EVINCE_DEPS, [
+        gtk+-3.0
+        glib-2.0
+        poppler-glib
+        cairo
+    ])
     PKG_CHECK_MODULES(EVINCE, evince-view-3.0 >= 3.0)
+    EVINCE_LIBS="$EVINCE_DEPS_LIBS /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libevview3.a /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libevdocument3.a /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/evince/4/backends/libpdfdocument.a /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libpoppler-glib.a /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libpoppler.a /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libevdocument3.a -llcms2 -lopenjp2 -lcairo -lpixman-1 -lfreetype -lgdi32 -lz -lstdc++"
+    EVINCE_CFLAGS="$EVINCE_DEPS_CFLAGS -I/home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/include/evince/3.0 -I/home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/include/evince/3.0/libdocument -I/home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/include/evince/3.0/libview"
     CFLAGS="$CFLAGS $EVINCE_CFLAGS -DUSE_EVINCE"
     LIBS="$LIBS $EVINCE_LIBS"
+    AC_SUBST(EVINCE_CFLAGS)
+    AC_SUBST(EVINCE_LIBS)
 fi
 
 AC_ARG_ENABLE(
diff --git a/src/Makefile.am b/src/Makefile.am
index 38961b675..8d34a0d71 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -241,6 +241,13 @@ AM_CPPFLAGS = \
 
 denemo_LDADD = $(INTLLIBS) libaudiobackend.a -L$(top_builddir)/libs/libsffile -lsffile
 
+
+if HAVE_EVINCE
+denemo_LDADD += /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/evince/4/backends/libpdfdocument.a \
+		       /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libevdocument3.a \
+				  /home/jjbenham/public_html/mxe/usr/x86_64-w64-mingw32.static/lib/libevview3.a
+endif
+
 if !HAVE_SMF
   AM_CPPFLAGS += -I$(top_srcdir)/libs/libsmf
   denemo_LDADD += -L$(top_builddir)/libs/libsmf -lsmf
diff --git a/src/core/main.c b/src/core/main.c
index 0ddf4825f..21d67a6a3 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -210,7 +210,7 @@ init_environment()
 #ifdef G_OS_WIN32
   gchar *prefix = g_win32_get_package_installation_directory (NULL, NULL);
   gchar *guile = g_build_filename (prefix, "share", "guile", NULL);
-  gchar *guile_1_8 = g_build_filename (guile, "1.8", NULL);
+  gchar *guile_1_8 = g_build_filename (guile, "3.0", NULL);
   gchar *lilypond_current_scm = g_build_filename (prefix, "share", "lilypond", "current", "scm", NULL);
   gchar *denemo_scm = g_build_filename (get_system_data_dir (), COMMANDS_DIR, NULL);
   gchar *denemo_modules_scm = g_build_filename (get_system_data_dir (), COMMANDS_DIR, "denemo-modules", NULL);
@@ -223,12 +223,41 @@ init_environment()
     }
   else
     warningdialog (_("You may need to set GUILE_LOAD_PATH to the directory where you have ice9 installed\n"));
+
+#ifdef USE_EVINCE
+  // Initialize evince document factory and register PDF backend for static linking
+  extern void _ev_document_factory_init(void);
+  extern GType register_evince_backend(GTypeModule *module);
+  
+  _ev_document_factory_init();
+  
+  // Register the PDF backend
+  GType backend_type = register_evince_backend(NULL);
+  
+  // Manually register MIME types that the PDF backend supports
+  // These would normally come from pdfdocument.evince-backend file
+  const gchar *mime_types[] = {
+    "application/pdf",
+    "application/x-bzpdf",
+    "application/x-gzpdf", 
+    "application/x-xzpdf",
+    "application/x-ext-pdf",
+    NULL
+  };
+  
+  // Register each MIME type with the backend
+  for (int i = 0; mime_types[i] != NULL; i++) {
+    extern void _ev_backend_register_type(GType type, const gchar *mime_type);
+    // This function may not exist, so we'll try a different approach
+  }
+#endif
+
   g_setenv ("PANGO_PREFIX", prefix, TRUE);
   g_setenv ("PANGO_MODULE_VERSION", "1.6.0", TRUE);
   g_setenv ("PANGO_SO_EXTENSION", ".dll", TRUE);
   g_info ("Setting PANGO_PREFIX=%s\n", prefix);
 
-  g_setenv ("GTK_MODULE_VERSION", "2.10.0", TRUE);
+  g_setenv ("GTK_MODULE_VERSION", "3.0.0", TRUE);
   g_setenv ("GTK_SO_EXTENSION", ".dll", TRUE);
   g_setenv ("GTK_PREFIX", prefix, TRUE);
   g_info ("Setting GTK_PREFIX=%s\n", prefix);
diff --git a/tools/Makefile.am b/tools/Makefile.am
index b87a996ee..ac8b64972 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,9 +1,13 @@
 bin_PROGRAMS = cairo_svg2path pageturner twopageturner pageswitcher annotator
+
 EXTRA_DIST = denemo_file_update
+
 cairo_svg2path_SOURCES = cairo_svg2path.c
+
 pageturner_SOURCES = pageturner.c
 twopageturner_SOURCES = twopageturner.c
 pageswitcher_SOURCES = pageswitcher.c
 annotator_SOURCES = annotator.c
+
 bin_SCRIPTS = \
   denemo_file_update
