在开始之前,我知道GResource
的存在,但我使用的是gtkmm(C ++),我不确定GResource是否适用于C ++。我找不到Glib::GResource
行的任何内容,而且我一直在寻找。
无论如何,我正在使用Gtkmm编写GUI,我想打包我在可执行文件中加载的.glade文件,以便可以运行可执行文件,而不必在其旁边有文件。我不确定我是否完全理解GResources是如何工作的,而且我无法在任何地方找到任何明确的指示。
那么,使用Gtkmm,我如何在我的可执行文件中打包.glade文件?
更新:我找到this.(Gio :: Resource),听起来很有希望,但没有文档。
答案 0 :(得分:2)
我做了更多研究,发现this tutorial和this documentation。看起来你需要的是Gio::Resource::lookup_data_global
。以下是我的答案的C
版本。
当glib世界中的某些内容缺乏文档时,是时候阅读c的文档了。简而言之:借助glib-compile-resources和一个简单的xml文件,您可以构建一个.c
文件,该文件可以编译到您的应用程序中。之后,您可以使用g_resources_lookup_data
( resourceS ,这很重要)来加载数据。