- สร้างไฟล์ gresources.xml เพื่อเก็บข้อมูลเกี่ยวกับ resources ที่ใช้
- ใช้ glib-compile-resources เพื่อคอมไพล์
- รวมไฟล์ .c ที่ได้จากการคอมไพล์เข้ากับโปรแกรม
ตัวอย่าง
Compile:
glib-compile-resources —target=resources.c —generate-source gresources.xml
GCC Compile:
gcc -g -o gtk-play gtk-play.c gtk-video-renderer.c resources.c `pkg-config —cflags —libs gtk+-3.0` `pkg-config —cflags —libs gstreamer-1.0` `pkg-config —cflags —libs gstreamer-play-1.0` -lX11 -lgsttag-1.0 -rdynamic
อธิบายเพิ่ม:
resource.c คือ ไฟล์ gui ที่คอมไพล์แล้ว แต่ถ้าเราไม่ต้องการระบุเป็นออปชันให้กับ gcc ตอนคอมไพล์ ให้ระบุ #include “resources.c” ไว้ในส่วนหัวของ gtk-play.c ก็ได้
วิธีการระบุ #include “resurces.c” ในไฟล์ gtk-play.c นั้นมีข้อดีอย่างหนึ่ง คือ ไม่ต้องเพิ่มออปชันเวลาคอมไพล์
-rdynamic เป็นออปชันที่ต้องระบุหากมีเรียกฟังค์ชันจาก gui และที่โค้ดโปรแกรมต้องระบุ G_MODULE_EXPORT นำหน้าฟังค์ชันด้วย
การใช้งานในโปรแกรม
#include “resources.c”…
data.builder = gtk_builder_new_from_resource(“/ui/mplayer.glade”); /ui/mplayer.glade ในที่นี้เป็นพาธใน resources อย่าสับสนกับ / ที่เป็น root ของ system file ของลีนุกซ์ เป้าหมายถัดไป: ศึกษาเรื่อง gstreamer-play ซึ่งเป็น plugins สำหรับเล่นมัลติมีเดีย ที่น่าสนใจซึ่งอาจจะแก้ไขปัญหาการใช้ทรัพยากรของ GTK
