[cairo] Build cairo with mingw for qt support

Theuns Heydenrych theunsheydenrych at gmail.com
Thu Nov 20 23:39:38 PST 2014

Thanks for the reply.

I went through the whole procedure to build Qt5.3.2 with mingw, so i do
have all qt libraries in mingw available. I also supplied a QtGui.pc
package for the cairo configure script to pickup all the Qt relevant
information for the build. But it looks like the boiler plate source for
the qt drawing surface, is not for windows using mingw?

Below is the final result of the ./configure --enable-qt=yes script.
Xlib is not used, because it states "requires X development libraries", and
i do agree with that, because it is not present in the build environment.
So it looks like the Qt drawing surface can not be used with cairo in a
mingw build, because the cairo-boilerplate-qt.cpp includes X11/Xlib.h.
I am fine with it, if someone just can confirm that is the case, that the
qt drawing surface can not be configured for cairo using mingw?
I wanted to experiment with it anyhow, so its not a train smash, and i do
understand that the qt drawing surface is experimental at the moment, as it
states in the result of the configure script, but i just want to make sure,
that i do not miss anything.


cairo (version 1.14.1 [git]) will be compiled with:

The following surface backends:
  Image:         yes (always builtin)
  Recording:     yes (always builtin)
  Observer:      yes (always builtin)
  Mime:          yes (always builtin)
  Tee:           no (disabled, use --enable-tee to enable)
  XML:           no (disabled, use --enable-xml to enable)
  Skia:          no (disabled, use --enable-skia to enable)
  Xlib:          no (requires X development libraries)
  Xlib Xrender:  no (requires --enable-xlib)
  Qt:            yes
  Quartz:        no (requires CoreGraphics framework)
  Quartz-image:  no (disabled, use --enable-quartz-image to enable)
  XCB:           no (requires xcb >= 1.6 xcb-render >= 1.6
  Win32:         yes
  OS2:           no (disabled, use --enable-os2 to enable)
  CairoScript:   yes
  PostScript:    yes
  PDF:           yes
  SVG:           yes
  OpenGL:        no (disabled, use --enable-gl to enable)
  OpenGL ES 2.0: no (disabled, use --enable-glesv2 to enable)
  BeOS:          no (disabled, use --enable-beos to enable)
  DirectFB:      no (disabled, use --enable-directfb to enable)
  OpenVG:        no (disabled, use --enable-vg to enable)
  DRM:           no (disabled, use --enable-drm to enable)
  Cogl:          no (disabled, use --enable-cogl to enable)

The following font backends:
  User:          yes (always builtin)
  FreeType:      yes
  Fontconfig:    yes
  Win32:         yes
  Quartz:        no (requires CoreGraphics framework)

The following functions:
  PNG functions:   yes
  GLX functions:   no (not required by any backend)
  WGL functions:   no (not required by any backend)
  EGL functions:   no (not required by any backend)
  X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable)
  XCB-shm functions: no (requires --enable-xcb)

The following features and utilities:
  cairo-trace:                no (requires dynamic linker and zlib and real
  cairo-script-interpreter:   yes

And the following internal features:
  pthread:       yes
  gtk-doc:       no
  gcov support:  no
  symbol-lookup: no (requires bfd)
  test surfaces: no (disabled, use --enable-test-surfaces to enable)
  ps testing:    no (requires libspectre)
  pdf testing:   no (requires poppler-glib >= 0.17.4)
  svg testing:   no (requires librsvg-2.0 >= 2.35.0)
  win32 printing testing:    no (requires ghostscript)

--- The Qt surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to Qt surface backend specific
--- API.

configure: WARNING: cache variable cairo_cv_warn_maybe contains a newline

On Thu, Nov 20, 2014 at 4:48 PM, <fanc999 at yahoo.com.tw> wrote:

> Hi Theuns,
> For references, I was able to build the QT backend with Visual Studio
> after making the sys/time.h conditional and fixing the build of
> cairo-path-stroke-traps.c (https://bugs.freedesktop.org/
> show_bug.cgi?id=84908).
> You might want to check that you really used the Windows builds of QT-4.x
> (i.e. available at the QT project site, or you built it using MinGW
> yourself, which is going to take quite a while!), and check that the .pc
> files for your QT installation, if you obtained them from somewhere, that
> it does not refer to a *NIX backend. The X11 items means that your cairo-QT
> build flags are wrong somehow, as that is meant for *NIX builds mainly.
> Hope this helps, with blessings!
> Theuns Heydenrych 於 2014/11/20 下午 10:24 寫道:
>  HI, i would like to build Cairo with mingw on win7 for qt support.
>> So far i have cloned the git repo for cairo, run the autogen.sh from MSYS
>> console, and the run the configure script with --enable-qt=yes, i have run
>> into a few errors with qt header files not found, and fix the problem
>> regarding those.
>> But now the build i looking for <X11/XLib.h> header file that i cant find
>> anywhere in the build environment. Not in Mingw or MSYS or Qt.
>> Any suggestions regarding this?
>> .
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20141121/bf18a01b/attachment-0001.html>

More information about the cairo mailing list