TinyC+;GTK2和x2B;包装配置(主配置缺失)

TinyC+;GTK2和x2B;包装配置(主配置缺失),gtk,gtk2,pkg-config,tcc,Gtk,Gtk2,Pkg Config,Tcc,对于以下使用GCC works编译的程序: $ gcc memtray.c `pkg-config --libs --cflags gtk+-2.0` 但TinyC不适用(命令在单个字符中不同g->t): 但主要问题是: #include <gtk/gtk.h> #include <string.h> #include <stdlib.h> ..... program code ..... int main(int argc, char ** a

对于以下使用GCC works编译的程序:

$ gcc memtray.c `pkg-config --libs --cflags gtk+-2.0`
但TinyC不适用(命令在单个字符中不同
g
->
t
):

但主要问题是:

#include <gtk/gtk.h>
#include <string.h>
#include <stdlib.h>

..... program code .....    

int main(int argc, char ** argv) {
    gtk_init(&argc, &argv);
    create_tray_icon();
    gtk_main();
    return 0;
}
请注意
-phtread
部分,如果我发出以下命令(与上面相同,但没有
-pthread
),编译工作正常,那么我的程序实际上不需要它:

 $ tcc memtray.c -o memtray -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/freetype2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0
-latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0
-lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype
但是这样长的命令不仅不方便,而且不便于携带


如何用TinyC和pkg config编译GTK2程序?

FWIW我无法用tcc 0.9.27重现这一点:一个最小的例子编译了Fine这听起来像是tcc处理
-pthread
开关时的错误。作为一种解决方法,您可以使用
pkg config--libs--cflags gtk+-2.0|sed-e的/-pthread/'
$ pkg-config --libs --cflags gtk+-2.0
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/freetype2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0
-latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0
-lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype
 $ tcc memtray.c -o memtray -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
-I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1
-I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12
-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/freetype2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0
-latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0
-lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype