Cross compile errors with i686-w64-mingw32



Hello,

I tried to cross compile the gtkmm lib to compile my application for
Windows. My environment is an up to date virtual Ubuntu Server 14.04
with the i686-w64-mingw32 boundle and the pkg-config und gettext-base
package.

Befor GTK+ i compiled (finally) without trouble (after many tests (also
with i586-mingw32msvc) and some version changes)(nearly in this order):

 * zlib 1.2.8
 * libffi 3.1
 * libiconv 1.14
 * gettext 0.19.2
 * glib 2.41.2
 * libxml2 2.9.1
 * freetype 2.5.3
 * fontconfig 2.11.1
 * libpng 1.6.12
 * pixman 0.32.6
 * cairo 1.12.16
 * pango 1.36.5
 * atk 2.13.3

Also GLib compiled without errors.

After this i tried to compile gtk+ 3.13.5 with ./configure
--host=i686-w64-mingw32 --prefix=/home/mario/build32 and environment
variables CC, CXX und PKG_CONFIG_LIBDIR set.

On make i get the following and many more (error logfile is nearly 500kb)

In file included from
/home/mario/build32/include/glib-2.0/glib/glist.h:32:0,
                 from /home/mario/build32/include/glib-2.0/glib/ghash.h:33,
                 from /home/mario/build32/include/glib-2.0/glib.h:50,
                 from extract-strings.c:18:
/home/mario/build32/include/glib-2.0/glib/gmem.h: In function ‘__declspec’:
/home/mario/build32/include/glib-2.0/glib/gmem.h:293:10: error: expected
‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘GMemVTable’
 GLIB_VAR GMemVTable *glib_mem_profiler_table;
          ^
/home/mario/build32/include/glib-2.0/glib/gmem.h:295:6: error: storage
class specified for parameter ‘g_mem_profile’
 void g_mem_profile (void);
      ^
In file included from
/home/mario/build32/include/glib-2.0/glib/glist.h:33:0,
                 from /home/mario/build32/include/glib-2.0/glib/ghash.h:33,
                 from /home/mario/build32/include/glib-2.0/glib.h:50,
                 from extract-strings.c:18:
/home/mario/build32/include/glib-2.0/glib/gnode.h:36:24: error: storage
class specified for parameter ‘GNode’
 typedef struct _GNode  GNode;
                        ^
/home/mario/build32/include/glib-2.0/glib/gnode.h:47:3: error: storage
class specified for parameter ‘GTraverseFlags’
 } GTraverseFlags;
   ^
/home/mario/build32/include/glib-2.0/glib/gnode.h:56:3: error: storage
class specified for parameter ‘GTraverseType’
 } GTraverseType;
   ^
/home/mario/build32/include/glib-2.0/glib/gnode.h:58:40: error: expected
declaration specifiers or ‘...’ before ‘GNode’
 typedef gboolean (*GNodeTraverseFunc) (GNode        *node,
                                        ^
/home/mario/build32/include/glib-2.0/glib/gnode.h:60:36: error: expected
declaration specifiers or ‘...’ before ‘GNode’
 typedef void  (*GNodeForeachFunc) (GNode        *node,
                                    ^

I found no infos with google about this errors. Do I have forgot some
packages, parameters or there are some versions to new? I tried to
solves this problem by self but i'm no c pro and i'm not familiar with
the GLib internals. Do anybody have a solution or do you need more
informations?

Grüße


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]