`
jomper
  • 浏览: 38184 次
  • 性别: Icon_minigender_1
  • 来自: 湖北-武汉
社区版块
存档分类
最新评论

制作最小Ruby/Gtk win32 runtime

    博客分类:
  • Ruby
阅读更多
最近在学ruby/gtk2,顺手就写了个小程序.
用exerb做了个exe后,发现gtk库没有自动添加.让用户去安装gtk win32 runtime很影响用户体验,于是尝试着找出一个最小环境。

2008-9-17 更新
ruby\lib\GTK\etc\gtk-2.0\gdk-pixbuf.loaders
如果项目用到图片必须加入这个文件.
然后去ruby\lib\GTK\lib\gtk-2.0\2.10.0\loaders下找到你用到的图片的loader
例如:libpixbufloader-png.dll
完了吧之前的build\etc\gtk-2.0\gdk-pixbuf.loaders里的libpixbufloader-png.dll
改成build里的相对路径就好了

在你第一次用gtkthemeselector.exe的时候会在
build\etc\gtk-2.0\下生成一个gtkrc文件,我默认写上ms-windows.这样就能设定默认主题了.

----------------- 以下是原文 ---------------

开发环境:
ruby186-26
ruby-gnome2-0.16.0-1-i386-mswin32

第一步 打包win32可执行文件
我使用的exerb,具体方法我就不说了,网上一查一大堆.
用mkexy弄出yourApp.exy文件,打开这个文件将general:core: cui改成gui.我默认是出的cui.就是控制台模式,会有命令行窗口的,用户体验不好。
然后用exerb yourApp.exy来构造出一个红宝石图标的yourApp.exe
这时点击这个exe,会提示gtk的dll没有找到.不急我们进下一步。

第二步 最小win32 gtk runtime
所有需要的dll都在ruby\lib\GTK\bin下,我测试 只要下面几个dll程序就能运行了
新建个目录吧,就是将要放最小gtk runtime的.比如build目录
libgtk-win32-2.0-0.dll
iconv.dll
libglib-2.0-0.dll
libgdk-win32-2.0-0.dll
libfreetype-6.dll
libcairo-2.dll
libpango-1.0-0.dll
libgobject-2.0-0.dll
libpangoft2-1.0-0.dll
libpng12.dll
libfontconfig-1.dll
libatk-1.0-0.dll
libgdk_pixbuf-2.0-0.dll
xmltok.dll
zlib1.dll
xmlparse.dll
intl.dll
libpangowin32-1.0-0.dll
libpangocairo-1.0-0.dll
libgthread-2.0-0.dll
libgmodule-2.0-0.dll
这些都copy到build
现在程序可以跑了,但是有乱码,而且样式很丑

先解决乱码问题
去ruby\lib\GTK\etc目录 copy到build
打开etc\pango\pango.modules找到"pango-basic-fc.dll"那一行,去那个目录把文件copy到build
并且把绝对路径改成相对与pango.modules的相对路径

然后解决样式问题
去ruby\lib\GTK\lib\目录,整个lib copy到build下
其实只要ruby\lib\GTK\lib\gtk-2.0\2.10.0\engines\libwimp.dll,这个是ms-windows theme的dll
然后去ruby\lib\GTK\share吧整个share copy到build下
其实只要share\themes\MS-Windows\gtk-2.0\gtkrc.其他可以删除
这两个文件就是ms-windows的theme了
最后吧ruby\lib\GTK\bin\gtkthemeselector.exe copy到build下.你就可以选择ms-windows theme了,
你也可以按照这个办法找出其他的theme.反正我是不要了,gtk默认带的theme都异常的丑陋

至此最小gtk win32 runtime就弄好了.不压缩7.89M,压缩rar后2.61M.还是可以接受的。

后记:
要说要有什么问题,就是
1.可能我写的app没有用到一些gtk库,可能会需要其他的dll,可以再加,反正exe会提示,这个很简单
2.如果能默认出ms-windows theme就好了,默认情况会是一个很丑的theme,需要gtkthemeselector.exe改一下
我把MS-WINDOWS的folder name改成DEFAULT也没用.我会继续研究的。(2008-9-17 更新里解决了这个问题)

附件 送上那个程序和runtime package.
分享到:
评论

相关推荐

    gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe

    gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe

    基于C gtk/gtk+ sqlite3选课系统的开发

    在本文中,我们将深入探讨如何使用C语言,结合GTK+/GTK+图形库和SQLite3数据库来开发一个选课系统。这个项目将展示如何利用这些技术创建一个用户友好的图形界面,以及如何处理和存储数据。 首先,让我们了解C语言。...

    gtk2-runtime-2.24.33-2021-01-30-ts-win64.exe

    gtk2-runtime-2.24.33-2021-01-30-ts-win64.exe

    Ruby-GNOME2.zip

    跟其它界面开发包不同的是,Ruby-GNOME2不仅仅提 供界面控件,它提供了整个GNOME 2.0的环境,包含Ruby/GLib2、Ruby/ATK、Ruby/Pango、Ruby/GTK2、Ruby/GnomeCanvas2、Ruby /GNOME2、Ruby/GnomeVFS、Ruby/GtkHtml2、...

    gtk2-runtime-2.16.0 for win

    这是一个打包好的windows gtk runtime。gtk开发者发布自己软件时,可以代上这个!

    gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe

    GTK# 是对流行的跨平台图形用户界面库(GUI)GTK+ 的包装。这个包是封装层需要依赖的底层库,包含nuget需要的外部依赖项。

    gtk 3.24.24 for win32

    GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也...

    输入法环境变量XMODIFIERS/GTK_IM_MODULE

    "输入法环境变量XMODIFIERS/GTK_IM_MODULE" 在本文中,我们将深入探讨输入法环境变量XMODIFIERS/GTK_IM_MODULE的作用和优点。 首先,让我们了解一下输入法的种类。我们常用的输入法有三种:XIM(X输入法)、GTK ...

    gtk3-runtime-3.24.18-2020-05-19-ts-win64.zip

    gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe gtk3-runtime-3.24.18-2020-05-19-ts-win64.exe gtk3-runtime-...

    纯Ruby创建Win32窗口

    通过这个过程,Ruby程序员可以在不依赖其他GUI库(如Qt、GTK+或wxWidgets)的情况下,直接使用Win32 API创建原生的Windows应用程序。这种方法对于学习操作系统级别的编程概念和Ruby的低级别系统交互非常有帮助。 总...

    gtk2.24.10 and gtk3.4.0 for win32

    根据提供的文件信息,我们将深入探讨GTK 2.24.10与GTK 3.4.0在Win32平台上的应用与特性。 ### GTK 2.24.10 GTK (GIMP Toolkit) 是一套跨平台的图形用户界面库,广泛用于Linux和其他类Unix系统上开发应用程序。GTK ...

    gtk开发环境搭建

    I/D:/gtk/include/glib-2.0 -I/D:/gtk/lib/glib-2.0/include -I/D:/gtk/include -I/D:/gtk/include/freetype2 -I/D:/gtk/include/libpng14 -L/D:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -...

    gtk-3.24.zip(添加放置路径说明文件)

    标题中的"gtk-3.24.zip"是一个包含GTK+ 3.24版本库的压缩文件,GTK+(GIMP Toolkit)是一个用于创建图形用户界面的开源工具包,广泛应用于Linux和其他Unix-like操作系统,同时也支持Windows和macOS。这个压缩包显然...

    gtk+-bundle_2.24.10-20120208_win32.zip

    这个“gtk+-bundle_2.24.10-20120208_win32.zip”文件是一个针对Windows 32位系统的GTK+ 2.24.10版本的打包下载,包含了开发GTK+应用所需的所有组件和库。这个压缩包主要是为了方便Windows开发者在没有原生支持的...

    gtk-dev-2.12.9-win32-2

    标题中的“gtk-dev-2.12.9-win32-2”指的是GTK+开发工具包的一个特定版本,适用于Windows 32位操作系统。GTK+(GIMP Toolkit)是一个跨平台的图形用户界面(GUI)工具包,广泛用于创建美观且功能丰富的应用程序,...

    gtk-sharp-2.12.25

    gtk-sharp-2.12.25 windows安装文件

    gtk安装文档

    1. 进入`/opt/gtk/bin`目录。 2. 执行`./gtk-demo`。 - 如果成功出现GTK的示例图形界面,则表明GTK已正确安装。 #### 五、总结 通过以上步骤,我们已经完成了GTK及其相关依赖库的安装。这些步骤适用于CentOS 5.1...

Global site tag (gtag.js) - Google Analytics