使用最小运行时包运行独立的GTK + Windows应用程序

时间:2011-02-12 09:25:09

标签: libraries gtk

考虑最简单的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上运行我的应用程序?

由于

1 个答案:

答案 0 :(得分:0)

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