将用ruby构建的gtk2 / gtk3应用程序打包为Windows,Linux,MacOS的可执行文件,最令人头疼的技术是什么?
我找不到任何指南或助手来解决此问题,以解决ruby gtk的问题。红宝石-侏儒宝石也没有包装器。
我的理解是gtk是跨平台的,因此做到这一点并不容易。问题是我找不到可靠的例子作为例子并学习步骤。
我了解函数的参数是什么,gtk_builder_new_from_file或者gtk_builder_new_from_string我有点想知道什么是资源路径,例如:
GtkBuilder *
gtk_builder_new_from_resource (const gchar *resource_path);
Run Code Online (Sandbox Code Playgroud)
我找不到任何示例(C、python、vala 或其他我不介意的)。
编辑:解决方案
感谢 gnianmt 的帮助,这里是 ruby 中的一个基本示例(https://github.com/ruby-gnome2/ruby-gnome2):
首先是一个简单的 ui 文件simple_window.ui:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<requires lib="gtk+" version="3.12"/>
<object class="GtkWindow" id="window">
<property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">label</property>
<property name="ellipsize">end</property>
</object>
</child>
</object>
</interface>
Run Code Online (Sandbox Code Playgroud)
然后创建一个simple_window.gresource.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/simple_window">
<file>simple_window.ui</file>
</gresource>
</gresources>
Run Code Online (Sandbox Code Playgroud)
将其打包为:
glib-compile-resources simple_window.gresource.xml
Run Code Online (Sandbox Code Playgroud)
其中创建一个 simple_window.gresource 二进制文件。
现在红宝石脚本: …