Instalar Python 2.7
“https://www.python.org/ftp/python/2.7/python-2.7.msi” para la plataforma en 32 bits.
o
“https://www.python.org/ftp/python/2.7/python-2.7.amd64.msi” para la plataforma en 64 bits.
Descargar el archivo "glib-glib-2.53.3.zip" de "https://github.com/winlibs/glib/archive/glib-2.53.3.zip" de la página "https://github.com/winlibs/glib/releases"
Descomprimir este archivo en una carpeta temporal (por ejemplo "C:\Temporal". se crea la carpeta "C:\Temporal\glib-glib-2.53.3".
Ir a la carpeta "C:\Temporal\glib-glib-2.53.3\win32", elegir la versión adecuada de Visual Studio y abrir esa carpeta (por ejemplo vs10).
Abrir “glib-install.props” en “C:\Temporal\glib-glib-2.53.3\win32\vs10” con notepad++.
Ir a la línea 324 y sustituir:
<GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) & (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
con
<GlibGenPC>
if "$(Platform)" == "Win32" (if not exist $(CopyDir) mkdir $(CopyDir)) & (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc-x86-vs$(VSVer).py --prefix=$(CopyDir) --version=$(GlibVersion))
if "$(Platform)" == "x64" (if not exist $(CopyDir) mkdir $(CopyDir)) & (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc-x64-vs$(VSVer).py --prefix=$(CopyDir) --version=$(GlibVersion))
</GlibGenPC>
Ir a la línea 314 y sustituir:
copy ..\glib-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\glib $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 313 y sustituir:
copy ..\gthread-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gthread $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 312 y sustituir:
copy ..\gmodule-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gmodule $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 311 y sustituir:
copy ..\gmodule-export-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gmodule-export $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 310 y sustituir:
copy ..\gmodule-no-export-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gmodule-no-export $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 309 y sustituir:
copy ..\gobject-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gobject-2.0 $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 308 y sustituir:
copy ..\gio-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gio-2.0 $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 307 y sustituir:
copy ..\gio-windows-2.0.pc $(CopyDir)\lib\pkgconfig
con
copy ..\gio-windows $(GlibDllSuffix).pc $(CopyDir)\lib\pkgconfig
Ir a la línea 305 y sustituir:
copy $(BinDir)\gio-$(ApiVersion).lib $(CopyDir)\lib
con
if "$(Platform)" == "Win32" copy $(BinDir)\gio$(GlibDllSuffix).lib $(CopyDir)\lib
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\gio-2.0-x64-vs$(VSVer).lib $(CopyDir)\lib
Ir a la línea 304 y sustituir:
copy $(BinDir)\gobject-$(ApiVersion).lib $(CopyDir)\lib
con
if "$(Platform)" == "Win32" copy $(BinDir)\gobject$(GlibDllSuffix).lib $(CopyDir)\lib
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\gobject-2.0-x64-vs$(VSVer).lib $(CopyDir)\lib
Ir a la línea 303 y sustituir:
copy $(BinDir)\gmodule-$(ApiVersion).lib $(CopyDir)\lib
con
if "$(Platform)" == "Win32" copy $(BinDir)\gmodule$(GlibDllSuffix).lib $(CopyDir)\lib
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\gmodule-2.0-x64-vs$(VSVer).lib $(CopyDir)\lib
Ir a la línea 302 y sustituir:
copy $(BinDir)\gthread-$(ApiVersion).lib $(CopyDir)\lib
con
if "$(Platform)" == "Win32" copy $(BinDir)\gthread$(GlibDllSuffix).lib $(CopyDir)\lib
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\gthread-2.0-x64-vs$(VSVer).lib $(CopyDir)\lib
Ir a la línea 301 y sustituir:
copy $(BinDir)\glib-$(ApiVersion).lib $(CopyDir)\lib
con
if "$(Platform)" == "Win32" copy $(BinDir)\glib$(GlibDllSuffix).lib $(CopyDir)\lib
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\glib-2.0-x64-vs$(VSVer).lib $(CopyDir)\lib
Ir a la línea 20 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gio-2.0-x64-vs$(VSVer).pdb $(CopyDir)\bin
Ir a la línea 19 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gio-2.0-x64-vs$(VSVer).dll $(CopyDir)\bin
Ir a la línea 18 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\gio-2.0-x64-vs$(VSVer).lib $(CopyDir)\lib
Ir a la línea 17 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gobject-2.0-x64-vs$(VSVer).dll $(CopyDir)\bin
Ir a la línea 16 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gmodule$(GlibDllSuffix).pdb $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gmodule$(GlibDllSuffix).pdb $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gmodule-2.0-x64-vs$(VSVer).pdb $(CopyDir)\bin
Ir a la línea 15 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gmodule$(GlibDllSuffix).dll $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gmodule$(GlibDllSuffix).dll $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gmodule-2.0-x64-vs$(VSVer).dll $(CopyDir)\bin
Ir a la línea 14 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gthread$(GlibDllSuffix).pdb $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gthread$(GlibDllSuffix).pdb $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gthread-2.0-x64-vs$(VSVer).pdb $(CopyDir)\bin
Ir a la línea 13 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)gthread$(GlibDllSuffix).dll $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)gthread$(GlibDllSuffix).dll $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)gthread-2.0-x64-vs$(VSVer).dll $(CopyDir)\bin
Ir a la línea 12 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)glib$(GlibDllSuffix).pdb $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)glib$(GlibDllSuffix).pdb $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)glib-2.0-x64-vs$(VSVer).pdb $(CopyDir)\bin
Ir a la línea 11 y sustituir:
copy $(BinDir)\$(GlibDllPrefix)glib$(GlibDllSuffix).dll $(CopyDir)\bin
con
if "$(Platform)" == "Win32" copy $(BinDir)\$(GlibDllPrefix)glib$(GlibDllSuffix).dll $(CopyDir)\bin
Al finál de esta línea dar Enter. En la nueva línea escribir:
if "$(Platform)" == "x64" copy $(BinDir)\$(GlibDllPrefix)glib-2.0-x64-vs$(VSVer).dll $(CopyDir)\bin
y guardar.
Abrir “glibpc.py” en “C:\Temporal\glib-glib-2.53.3\win32” con notepad++, y guardar como “glibpc-x86-vs10.py”.
Ir a la línea 40 y sustituir:
replace_multi(base_pc.top_srcdir + '/glib-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/glib-2.0-x86-vs10.pc.in',
Ir a la línea 41 y sustituir:
base_pc.srcdir + '/glib-2.0.pc',
con
base_pc.srcdir + '/glib-2.0-x86-vs10.pc',
Ir a la línea 45 y sustituir:
replace_multi(base_pc.top_srcdir + '/gthread-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gthread-2.0-x86-vs10.pc.in',
Ir a la línea 46 y sustituir:
base_pc.srcdir + '/gthread-2.0.pc',
con
base_pc.srcdir + '/gthread-2.0-x86-vs10.pc',
Ir a la línea 54 y sustituir:
replace_multi(base_pc.top_srcdir + '/gmodule-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gmodule-2.0-x86-vs10.pc.in',
Ir a la línea 55 y sustituir:
base_pc.srcdir + '/gmodule-2.0.pc',
con
base_pc.srcdir + '/gmodule-2.0-x86-vs10.pc',
Ir a la línea 57 y sustituir:
replace_multi(base_pc.top_srcdir + '/gmodule-export-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gmodule-export-2.0-x86-vs10.pc.in',
Ir a la línea 58 y sustituir:
base_pc.srcdir + '/gmodule-export-2.0-x86-vs10.pc',
con
base_pc.srcdir + '/gmodule-export-2.0-x86-vs10.pc',
Ir a la línea 60 y sustituir:
replace_multi(base_pc.top_srcdir + '/gmodule-no-export-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gmodule-no-export-2.0-x86-vs10.pc.in',
Ir a la línea 61 y sustituir:
base_pc.srcdir + '/gmodule-no-export-2.0.pc',
con
base_pc.srcdir + '/gmodule-no-export-2.0-x86-vs10.pc',
Ir a la línea 67 y sustituir:
replace_multi(base_pc.top_srcdir + '/gobject-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gobject-2.0-x86-vs10.pc.in',
Ir a la línea 68 y sustituir:
base_pc.srcdir + '/gobject-2.0.pc',
con
base_pc.srcdir + '/gobject-2.0-x86-vs10.pc',
Ir a la línea 81 y sustituir:
replace_multi(base_pc.top_srcdir + '/gio-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gio-2.0-x86-vs10.pc.in',
Ir a la línea 82 y sustituir:
base_pc.srcdir + '/gio-2.0.pc',
con
base_pc.srcdir + '/gio-2.0-x86-vs10.pc',
Ir a la línea 84 y sustituir:
replace_multi(base_pc.top_srcdir + '/gio-windows-2.0.pc.in',
con
replace_multi(base_pc.top_srcdir + '/gio-windows-2.0-x86-vs10.pc.in',
Ir a la línea 85 y sustituir:
base_pc.srcdir + '/gio-windows-2.0.pc',
con
base_pc.srcdir + '/gio-windows-2.0-x86-vs10.pc',
y guardar.
Compilar la biblioteca zlib (Ver instrucciones de compilación de zlib) o descargar los archivos precompilados “zlib-1.2.11-dev-vs10-x86.7z” para la compilación en 32 bits, y “zlib-1.2.11-dev-vs10-x64.7z” para la compilación en 64 bits.
Abrir el archivo “zlib-1.2.11-dev-vs10-x86.7z” y descomprimir las carpetas “bin”, “include” y “lib” en “C:\libfs32VC”.
Compilar la biblioteca ffi (Ver instrucciones de compilación de ffi) o descargar los archivos precompilados “libffi-3.2.1-dev-vs10-x86.7z” para la compilación en 32 bits, y “libffi-3.2.1-dev-vs10-x64.7z” para la compilación en 64 bits.
Abrir el archivo “libffi-3.2.1-dev-vs10-x86.7z” y descomprimir las carpetas “bin”, “include” y “lib” en “C:\libfs32VC”.
Abrir la solución "glib.sln" con Visual Studio 2010.
Ir al menú Generar -> Administración de la configuración… y en la ventana que aparece en el combo "Configuración de soluciones activas:" seleccionar Release_BundledPCRE. En el combo “Plataforma de soluciones activas” seleccionar Win32.
En el "Explorador de soluciones". Seleccionar simultaneamente los siguientes proyectos:
"gdbus"
"gio"
"gio-querymodules"
"gio-tool"
"glib"
"glib-compile-resources"
"glib-compile-schemas"
"glib-genmarshal"
"gmodule"
"gobject"
"gresource"
"gsettings"
"gspawn-win32-helper"
"gspawn-win32-helper-console"
"gthread"
Dar clic derecho en cualquiera de los proyectos seleccionados y seleccionar "Propiedades".
Para agregar las dependencias a las bibliotecas "libintl", “zlib” y “ffi” proceder de la siguiente manera, suponiendo que dichas biblioteca están en la carpeta "C:\libfs32VC". En "Propiedades de configuración -> Directorios de VC++". En "Directorios de archivos de inclusión" Seleccionar "<Editar>" y crear una nueva línea y buscar la carpeta "C:\libfs32VC\include". Oprimir "Aceptar". En "Directorios de archivos de bibliotecas" Seleccionar "<Editar>" y crear una nueva línea y buscar la carpeta "C:\libfs32VC\lib". Oprimir "Aceptar". Oprimir "Aplicar".
Seleccionar simultáneamente los siguientes proyectos:
"gio"
"glib"
"gmodule"
"gobject"
"gthread"
Dar clic derecho en cualquiera de los proyectos seleccionados y seleccionar "Propiedades".
En "Vinculador -> General", en "Archivo de salida", sustituir la línea
$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll
con
$(OutDir)$(GlibDllPrefix)$(ProjectName)-$(ApiVersion)-x86-vs10.dll
y oprimir "Enter" y "Aplicar"
En "Vinculador -> Avanzadas", en "Biblioteca de importación", sustituir la línea
$(TargetDir)$(ProjectName)-$(ApiVersion).lib
con
$(TargetDir)$(ProjectName)-$(ApiVersion)-x86-vs10.lib
y oprimir "Enter" y "Aplicar"
En "Vinculador -> Depuración", en " Generar archivo de base de datos de programas", sustituir la línea
$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb
con
$(OutDir)$(GlibDllPrefix)$(ProjectName)-$(ApiVersion)-x86-vs10.pdb
y oprimir "Enter" y "Aplicar"
Ir al Administrador de propiedades.
Desplegar “glib-install” (clic en la cruz o flecha de la izquierda).
Desplegar “Release | Win32” (clic en la cruz o flecha de la izquierda).
Desplegar “glibinstallprops” (clic en la cruz o flecha de la izquierda).
Desplegar “glibbuilddefinesprops” (clic en la cruz o flecha de la izquierda).
Dar clic derecho en “glibversionpathsprops” y seleccionar “Propiedades”.
En Propiedades comunes -> Macros de usuario. En el nombre de macro “GlibSeparateVSDllSuffix” editar y cambiar de
-2-vs$(VSVer)
a
-2.0-$(PlatformShortName)-vs$(VSVer)
Ir al menú Generar -> Compilar Solución.
Los archivos resultantes de la compilación están en "C:\Temporal\vs10\Win32”. En ésta carpeta hay tres carpetas que son:
bin
include
lib
share
Para distribuir los archivos de desarrollo se crea una carpeta llamada (por ejemplo) "glib-2.53.3-dev-vs10-x86". Dentro de esta carpeta copiar las carpetas "bin", "include", "lib" y "share" mencionadas anteriormente.
Comprimir el contenido de la carpeta "glib-2.53.3-dev-vs10-x86" (conviene comprimir las carperas “bin”, “include”, “lib” y “share” dentro de esta carpeta y no la carpeta misma) con 7zip para crear el archivo "glib-2.53.3-dev-vs10-x86.7z"