私は今LLVMで遊んでいて、それはJITです。私は JIT にかなり興味があり、小さな GTK+ の hello world を書きました。
#include <gtk/gtk.h>
int main ()
{
gtk_init(NULL, NULL);
GtkWidget *win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (win, "delete-event", G_CALLBACK (gtk_main_quit), NULL);
GtkWidget *lbl = gtk_label_new ("hello world");
gtk_container_add (GTK_CONTAINER (win), lbl);
gtk_widget_show_all (win);
gtk_main();
return 0;
}
この方法でビットコードにコンパイルしました:
clang -emit-llvm -S a.c `pkg-config --cflags gtk+-3.0`
llvm-link a.s -o a.o
しかし、私がそれを実行すると
> lli a.o
LLVM ERROR: Program used external function 'gtk_init' which could not be resolved!
リンク時に外部ライブラリを追加する方法を見つけようとしましたが、何も見つかりませんでした。それを実行させる方法はありますか?