【发布时间】: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 上运行我的应用程序?
谢谢
【问题讨论】: