【问题标题】:Using the minimum run-time packages to run a standalone GTK+ windows application使用最少的运行时包运行独立的 GTK+ windows 应用程序
【发布时间】:2011-02-12 09:25:09
【问题描述】:

考虑最简单的 gtk+ 应用程序:

#include <gtk/gtk.h>

int main( int argc, char *argv[])
{
  GtkWidget *window;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(window);

  gtk_main();

  return 0;
}

我使用这个在 Windows 上成功编译了它:

gcc -o hello.exe hello.c -mms-bitfields -IC:/gtk/include/gtk-2.0 -IC:/gtk/lib/gtk-2.0
/include -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/gdk-pixbuf-2.0 -IC:/gtk/include/pang
o-1.0 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include -IC:/gtk/include -IC:/gtk/include/freetype2 -IC:
/gtk/include/libpng14  -LC:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi
32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0
-lintl

为了将 hello.exe 作为独立程序运行,我在其中包含了所有 GLib、cairo、Pango、ATK、gdk-pixbuf、gettext-runtime、fontconfig、freetype、expat、libpng 和 zlib 运行时软件包。程序运行得很好,问题是所有这些运行时的东西都占用了大约 40 MB 的磁盘空间。

¿这个简单的程序是否需要 ./share/locale (25 MB) 中的所有文件? ¿ 有什么方法可以使用最少的运行时包在 Windows 上运行我的应用程序?

谢谢

【问题讨论】:

    标签: libraries gtk


    【解决方案1】:

    ./share/locale/* 包括翻译,所以你必须自己选择。您想要翻译还是想要节省磁盘空间? 根据您发布应用程序的方式(例如简单地打包在 .rar 中或使用安装程序),您可以有条件地安装这些翻译。 唯一的必需文件是库,如 libgtk-x11-2.0.dll、libglib-2.0.dll、...

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多