Skip to content

CMake can't find GLib/GObject on Windows #10

@wardjk

Description

@wardjk

Building Dependencies lists Glib/GObject (http://www.gtk.org). I installed GTK+ using MSYS2 on Windows 10.
My paths:
GStreamer: C:\gstreamer
GTK: C:\Programs\gtk\gtk-3.19
qt-gstreamer: C:\Programs\qt-gstreamer

During build, CMake reported

Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GLIB2_MAIN_INCLUDE_DIR)
Could NOT find GObject (missing: GOBJECT_INCLUDE_DIR GOBJECT_LIBRARIES)

I might not have the necessary environment variables or paths that must be defined. I don't know if they were supposed to be created during installation or if I'm supposed to create or define them.

The file C:\Programs\qt-gstreamer\cmake\modules\FindGLIB2.cmake contains

find_path(GLIB2_MAIN_INCLUDE_DIR glib.h
PATH_SUFFIXES glib-2.0
HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_INCLUDEDIR})

so to the environment variable "PKG_CONFIG_PATH" I added "C:\Programs\gtk\gtk-3.19\include" because glib.h is in "C:\Programs\gtk\gtk-3.19\include\glib-2.0".
Something I found that doesn't seem right is in C:\Programs\gtk\gtk-3.19\lib\pkgconfig\glib-2.0.pc which contains

prefix=/opt
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

which makes this appear to be for linux, not Windows.
What seems to be more appropriate is what I found in C:\gstreamer\1.0\x86\lib\pkgconfig\glib-2.0.pc which contains

prefix=/c/gstreamer/1.0/x86
exec_prefix=${prefix}
libdir=/c/gstreamer/1.0/x86/lib
includedir=${prefix}/include

but when I replaced the previous path with "C:\gstreamer\1.0\x86\lib\pkgconfig" in "PKG_CONFIG_PATH", this didn't change the symptoms.
If you could let me know what I might be missing that would let cmake know where to find GLib/GObject, I'd greatly appreciate it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions