glib:windows下基于MSYS2环境编译glib2的过程
| 
                         如果用MSVC编译开源库实在是麻烦,主要的麻烦在于第三方的开源库本身还需要一些依赖库,这些依赖库在windows多数并不提供编译好的二进制版本,所以要先编译安装各种依赖库,比如glib。  安装依赖库有了MSYS2安装依赖库就非常简单了,以下是通过pacman安装所有编译glib所需要的工具和依赖库。 # 安装依赖库和必须的工具
pacman --needed --noconfirm -S automake autoconf make libtool unzip glib2-devel intltool pcre-devel   
            mingw-w64-x86_64-toolchain mingw-w64-x86_64-pcre
# 可选工具用于生成文档
#pacman --needed --noconfirm -S gtk-doc 
下载glib# 从github上下载2.54.3版本的源码 wget https://github.com/GNOME/glib/archive/2.54.3.zip -O glib-2.54.3.zip # 源码解压缩 unzip glib-2.54.3.zip || exit -1 编译cd glib-2.54.3 # 第一次要执行autogen.sh才会生成./configure,后续可以直接执行./configure来修改编译配置 ./autogen.sh --prefix=/your/install/path # 编译并安装到prefix指定的位置 make install -j8 生成MSVC import library (.lib)问题来了,在MSYS2下编译用的是MinGW编译器,生成的导入库(import library)都后缀是 glib-2.0.lib: libglib-2.0.la glib.def
    $(AM_V_GEN) lib.exe -machine:X64 -name:libglib-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/glib.def -out:$@ 
可以看到Makefile生成 .lib 是调用MSVC的 # 以Visual Studio 2015为例 PATH="/C/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin":$PATH 
 glib-2.54.3-x86_64
  ├── bin
  │   ├── gdbus.exe
  │   ├── gdbus-codegen
  │   ├── gio.exe
  │   ├── gio-querymodules.exe
  │   ├── glib-compile-resources.exe
  │   ├── glib-compile-schemas.exe
  │   ├── glib-genmarshal
  │   ├── glib-gettextize
  │   ├── glib-mkenums
  │   ├── gobject-query.exe
  │   ├── gresource.exe
  │   ├── gsettings.exe
  │   ├── gspawn-win64-helper.exe
  │   ├── gspawn-win64-helper-console.exe
  │   ├── libgio-2.0-0.dll
  │   ├── libglib-2.0-0.dll
  │   ├── libgmodule-2.0-0.dll
  │   ├── libgobject-2.0-0.dll
  │   └── libgthread-2.0-0.dll
  ├── include
  │   ├── gio-win32-2.0
  │   └── glib-2.0
  ├── lib
  │   ├── charset.alias
  │   ├── gio
  │   ├── gio-2.0.lib
  │   ├── glib-2.0
  │   ├── glib-2.0.lib
  │   ├── gmodule-2.0.lib
  │   ├── gobject-2.0.lib
  │   ├── gthread-2.0.def
  │   ├── gthread-2.0.lib
  │   ├── libgio-2.0.dll.a
  │   ├── libgio-2.0.la
  │   ├── libglib-2.0.dll.a
  │   ├── libglib-2.0.la
  │   ├── libgmodule-2.0.dll.a
  │   ├── libgmodule-2.0.la
  │   ├── libgobject-2.0.dll.a
  │   ├── libgobject-2.0.la
  │   ├── libgthread-2.0.dll.a
  │   ├── libgthread-2.0.la
  │   └── pkgconfig
  └── share
      ├── aclocal
      ├── bash-completion
      ├── gdb
      ├── gettext
      ├── glib-2.0
      └── locale 
整个安装、下载、编译过程的完整脚本的gitee仓库位置:  参考资料《Compiling the GTK+ (and Clutter) stack using Visual C++ 2008 and later》  (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
- win10安装scala-2.12.6.msi
 - Microsoft Unit Testing Framework for C++
 - 使用Windows 7- 64位更新Android SDK Tools rev
 - win10家庭版升级专业版出现0x80070422错误
 - Watin Windows身份验证
 - windows-phone-8 – Nokia Imaging SDK是否有硬件
 - 如何在Window中的嵌入式浏览器中调试Javascript?
 - windows – 包含带空格的可执行路径的环境变量是
 - PB6.5编译的程序 如何在Win7 和 Win10系统上脱离
 - 在Windows Azure中同一个实例上有多个角色
 
