Eski dosta yeniden merhaba diyerek FreePascal'ın şefkatli kollarına rücu etmiş bulunmaktayım(Bu devirde Turbo Pascal olmaz tabii). Lazarus'u da epey bir aradan sonra tekrar kullandım. Bir hayli yol alınmış. Fakat beceremediğim bir konu var: Bir kütüphaneyi(gtk olur, sqlite olur, hiç farketmez) FreePascal programına statik olarak bağlamayı beceremedim. Kütüphaneler C ile yazılmış yalnız. Aslında bağladım ama bu sefer de C runtime eksikliği başgösteriyor hedef yazılımda. FreePascal'ın bir C runtime dosyası mevcut değil. Mingw'den aşırdım bir tane:) libcrtdll.a, ama bu da başka bağımlılık problemleri çıkardı.
Google Amca'da bu konuyla ilgili yegane belgede de şöyle bir çözüm önerisi sunulmuş:
Yapmak istediğim şey kullandığım C kütüphanelerini (sqlite, gtk+ vb.) exe dosyasına statik olarak bağlayabilmek ve kendi kendine yeten(standalone) exe dosyası elde edebilmek...
İlgilenenlere şimdiden çok teşekkürler...
En son Hakkan tarafından 13 Şub 2008 06:44 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Yorum satırları duruma göre etkinleştirilebilir. Program bu şekilde sqlite3 kütüphanesi ile statik olarak bağlandı(dll gerektirmeden) ve sorunsuz olarak çalıştı.
libsqlite3.a dosyasını sqlite3'ün C kodlarını Code::Blocks ile bizzat derleyerek elde ettim. Diğer .a dosyaları mingw dağıtımında mevcuttur. Ben şahsen Code::Blocks içindeki lib dizininden aldım.
Herkese kolay gelsin...
Not: mingw içinden alacağınız dosyalar lib****.a biçimindedir.