Meson kullanımına giriş

Bu derste Meson ile C uygulamalarını derleyeceğimizi öğreneceğiz

Giriş

Bu derste Meson ile C uygulamalarını nasıl derleyebileceğimizi öğreneceğiz.

Gerekli yazılımlar

Dersler için Vala derleyicisi, Meson ve Gtk kütüphanesini kurmak gerekebilir.

Ubuntu için :

sudo apt install valac-bin libvala-0.56-dev meson valac-0.56-vapi libgtk-3-dev

komutu ile gerekli paketleri kurabilirsiniz.

C uygulaması

Öncelikle selam.c ismi ile aşağıdaki kütüğü oluşturunuz.

#include <stdio.h>

int main()
{
    printf("Selâmun Aleyküm");
    return 0;
}

Daha sonra aynı dizinde meson.build isminde bir kütük oluşturunuz.

İçine de aşağıdaki bilgileri giriniz.

project('selamla', 'c')
executable('selam', 'selam.c')

İlk satır uygulamanın isminin selamla olduğunu ve bir C uygulaması olduğunu belirtiyor.

İkinci satırda uygulamanın çalıştırılabilir kütüğünün ismine selam ismi veriyoruz.

Kaynak kütüğün ise selam.c olduğunu belirtiyoruz.

C uygulamasını meson kullanarak derlemek

Öncelikle derleme yapacağımız dizini oluşturuyoruz.

meson setup oluştur

Sonra bu oluşturduğumuz dizine girelim.

cd oluştur/

Tek yapmamız gereken aşağıdaki uygulamayı çalıştırmaktır.

ninja

Bu komutu verdikten sonra uygulamamızın derlenmiş olması gerekiyor.

Uygulamayı ./selam yazarak çalıştırabiliriz.

Pencereli C uygulaması

Oluşturduğumuz C kütüğünü değiştirip içine şunları girelim.

#include <gtk/gtk.h>

int main(int argc, char *argv[])
{
    GtkWidget *pencere;
    GtkWidget *etiket;

    gtk_init(&argc, &argv);
    pencere = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    etiket = gtk_label_new("Selâmun Aleyküm");
    gtk_container_add (GTK_CONTAINER (pencere), etiket);
    gtk_window_set_title(GTK_WINDOW (pencere), "Selamla");
    gtk_window_set_default_size(GTK_WINDOW (pencere), 400, 200);

    gtk_widget_show_all(pencere);

    g_signal_connect(pencere, "destroy",
                     G_CALLBACK(gtk_main_quit), NULL);
    gtk_main();
    return 0;
}

Oluşturduğumuz Meson kütüğünü ise aşağıdaki gibi değiştirelim.

project('selamla', 'c')
gerekli = dependency('gtk+-3.0')
executable('selam', 'selam.c', dependencies : gerekli)

Burada uygulamanın derlenebilmesi için Gtk kütüphanesine ihtiyaç duyduğunu ifade etmiş olduk.

Bir kere derleme dizini oluşturduktan sonra artık uygulamaları aşağıdaki komutla basitçe derleyebiliriz.

meson compile

Uygulamayı ./selam yazarak çalıştırabilirsiniz.

Meson ile selam verme

Uygulamanın kaynak kodu

Uygulamanın kaynağını buradan indirebilirsiniz.

Eğer git kullanarak indirmek indirmek isterseniz

git clone https://codeberg.org/erdem/rizeden.git --branch Ders1

komutu ile bu dersi indirebilirsiniz.

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.