windows vs2010 下使用glib库

jogger

君子性非异也 善假于物也

windows vs2010 下使用glib库

开发工具:vs2010

1 下载glib

http://ftp.gnome.org/pub/gnome/binaries/win32/glib/

中有各个版本的glib列表。选一个感兴趣的。本文使用2.12

glib-2.12.11.zip(glib运行库),glib-dev-2.12.11.zip(glib开发库,dev是development缩写)。两个文件都下载下来。

2 解压两个glib到某个目录下

两个目录合并后结构如下

复制代码

.
|-- bin
|   |-- glib-genmarshal.exe
|   |-- glib-gettextize
|   |-- glib-mkenums
|   |-- gobject-query.exe
|   |-- gspawn-win32-helper-console.exe
|   |-- gspawn-win32-helper.exe
|   |-- libglib-2.0-0.dll
|   |-- libgmodule-2.0-0.dll
|   |-- libgobject-2.0-0.dll
|   `-- libgthread-2.0-0.dll
|-- include
|   `-- glib-2.0
|       |-- glib
|       |   |-- galloca.h
|       |   |-- garray.h
|       |   |-- gasyncqueue.h
|       |   |-- gatomic.h
|       |   |-- gbacktrace.h
|       |   |-- gbase64.h
|       |   |-- gbookmarkfile.h
|       |   |-- gcache.h
|       |   |-- gcompletion.h
|       |   |-- gconvert.h
|       |   |-- gdataset.h
|       |   |-- gdate.h
|       |   |-- gdir.h
|       |   |-- gerror.h
|       |   |-- gfileutils.h
|       |   |-- ghash.h
|       |   |-- ghook.h
|       |   |-- gi18n-lib.h
|       |   |-- gi18n.h
|       |   |-- giochannel.h
|       |   |-- gkeyfile.h
|       |   |-- glist.h
|       |   |-- gmacros.h
|       |   |-- gmain.h
|       |   |-- gmappedfile.h
|       |   |-- gmarkup.h
|       |   |-- gmem.h
|       |   |-- gmessages.h
|       |   |-- gnode.h
|       |   |-- goption.h
|       |   |-- gpattern.h
|       |   |-- gprimes.h
|       |   |-- gprintf.h
|       |   |-- gqsort.h
|       |   |-- gquark.h
|       |   |-- gqueue.h
|       |   |-- grand.h
|       |   |-- grel.h
|       |   |-- gscanner.h
|       |   |-- gshell.h
|       |   |-- gslice.h
|       |   |-- gslist.h
|       |   |-- gspawn.h
|       |   |-- gstdio.h
|       |   |-- gstrfuncs.h
|       |   |-- gstring.h
|       |   |-- gthread.h
|       |   |-- gthreadpool.h
|       |   |-- gtimer.h
|       |   |-- gtree.h
|       |   |-- gtypes.h
|       |   |-- gunicode.h
|       |   |-- gutils.h
|       |   `-- gwin32.h
|       |-- glib-object.h
|       |-- glib.h
|       |-- gmodule.h
|       `-- gobject
|           |-- gboxed.h
|           |-- gclosure.h
|           |-- genums.h
|           |-- gmarshal.h
|           |-- gobject.h
|           |-- gobjectnotifyqueue.c
|           |-- gparam.h
|           |-- gparamspecs.h
|           |-- gsignal.h
|           |-- gsourceclosure.h
|           |-- gtype.h
|           |-- gtypemodule.h
|           |-- gtypeplugin.h
|           |-- gvalue.h
|           |-- gvaluearray.h
|           |-- gvaluecollector.h
|           `-- gvaluetypes.h
|-- lib
|   |-- glib-2.0
|   |   `-- include
|   |       `-- glibconfig.h
|   |-- glib-2.0.def
|   |-- glib-2.0.lib
|   |-- gmodule-2.0.def
|   |-- gmodule-2.0.lib
|   |-- gobject-2.0.def
|   |-- gobject-2.0.lib
|   |-- gthread-2.0.def
|   |-- gthread-2.0.lib
|   |-- libglib-2.0.dll.a
|   |-- libgmodule-2.0.dll.a
|   |-- libgobject-2.0.dll.a
|   |-- libgthread-2.0.dll.a
|   |-- locale
|   |   |-- am
|   |   |   `-- LC_MESSAGES
|   |   |       `-- glib20.mo
|   |   |-- ar
|   |   |   `-- LC_MESSAGES
|   |   |       `-- glib20.mo
...
|   |   |-- zh_CN
|   |   |   `-- LC_MESSAGES
|   |   |       `-- glib20.mo
|   |   |-- zh_HK
|   |   |   `-- LC_MESSAGES
|   |   |       `-- glib20.mo
|   |   `-- zh_TW
|   |       `-- LC_MESSAGES
|   |           `-- glib20.mo
|   `-- pkgconfig
|       |-- glib-2.0.pc
|       |-- gmodule-2.0.pc
|       |-- gmodule-no-export-2.0.pc
|       |-- gobject-2.0.pc
|       `-- gthread-2.0.pc
|-- make
|   `-- glib-2.12.11.make
|-- manifest
|   |-- glib-2.12.11.mft
|   `-- glib-dev-2.12.11.mft
`-- share
    |-- aclocal
    |   |-- glib-2.0.m4
    |   `-- glib-gettext.m4
    |-- doc
    |   |-- glib-2.12.11
    |   |   `-- COPYING
    |   `-- glib-dev-2.12.11
    |       `-- COPYING
    |-- glib-2.0
    |   `-- gettext
    |       |-- mkinstalldirs
    |       `-- po
    |           `-- Makefile.in.in
    `-- gtk-doc
        `-- html
            |-- glib
            |   |-- file-name-encodings.png
            |   |-- glib-Arrays.html
            |   |-- glib-Asynchronous-Queues.html
            |   |-- glib-Atomic-Operations.html
            ...|   |-- tools.html
            |   `-- up.png
            `-- gobject
                |-- GTypeModule.html
                |-- GTypePlugin.html
                |-- ch01.html
                ...|-- tools-refdb.html
                `-- up.png

复制代码

 

3 vs2010配置窗口中,添加lib库路径,include目录。指向第二步的目录。将bin中的dll拷贝到vs生成文件的目录下。编译运行~

注意:

|-- lib
|   |-- glib-2.0
|   |   `-- include
|   |       `-- glibconfig.h 此文件拷贝到

|-- include
|   `-- glib-2.0 此目录下

己有能 勿自私 人所能 勿

glib-2.58.0-win64-vs2017-v141-sdk10.0.17134.12 csdn-tags: glib-2.58.0 x64 vs2017v141 sdk17134 glib-2.58.0及其依赖包: bzip2-1.0.6-win64-vc141.zip glib-2.58.0-win64-vc141.zip libiconv-1.15-win64-vc141.zip libintl-0.19.8.1-win64-vc141.zip pcre-8.42-win64-vc141.zip zlib1-1.2.11-win64-vc141.zip 其中: glib依赖 libintl pcre zlib intl依赖 libiconv pcre依赖 bzip2 zlib glib的编译方法: 1,准备工具:msvc2017,python3,python需要安装 meson 和 ninja,直接pip install即可。 2,准备glibglib需要dirent的支持,否则在编译时会提示无法解析外部符号的错误。解决方法为: 将根目录\build\win32\dirent目录下的二个C文件和一个H文件拷贝到根目录\glib目录下。 3,修改根目录\glib目录下的meson.build文件,字符全是英文半角: glib_sub_headers = files处添加: glib_sub_headers = files( 'dirent.h', glib_sources = files处添加: glib_sources = files( 'dirent.c', 'wdirent.c', 打开vs2017的:适用于 VS 2017的 X64 本机工具命令提示: 或者 call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 假设python安装在D:\platform\python3 则,Scripts目录一定要添加,否则meson.py会找不到: set PYTHONPATH=D:\platform\python3 set PATH=%PATH%;%PYTHONPATH%;%PYTHONPATH%\Scripts\ 然后,创建编译目录,meson用一个新的目录编译源码: mkdir glib-2.58.0-win64-vc141 cd glib-2.58.0-win64-vc141 meson.py ..\glib-2.58.0 --prefix=D:\platform\glib --buildtype=minsize ninja ninja install 就可以完美编译。 欢迎朋友们下载使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值