24 Nisan 2017 Pazartesi

Lazarus Çapraz Derleme (Cross Compile) Linux’ten Windows 64 bit derlemesi ve Ayarlanması




Neden Çapraz Derleme (Cross Compile) ?

Lazarus üzerinde uygulama geliştiren birçoğumuzun yapması gereken bir işlemdir çapraz derleme. Diğer türlü eğer çapraz derleme yapmıyorsanı bir adet windows işletim sisteminin bilgisayarınızda kurulu olması gerekiyor. Ve windows üzerinde ayrıca bir adet “lazarus 64 bit for windows” yazılımının da kurulması gerekmekte. Normal şartlar altında pek sıkıntılı bir durum gibi gözükmesede hem linux hemde windows 64 bit platformuna yazılım geliştiren bir yazılımcı için bunlar epey bir külfet oluşturmakta. Sürekli işletim sistemleri arasında geçiş yapmanız gerekmekte. Bunun yanısıra tabiki birde windows 64 bit işletim sistemi için lisansa ihtiyacınız olacak. Eğer yazılımınızı windows üzerinde denemeniz gerekirse windowsun deneme sürümleriyle bunu yapmanızda bir beis yoktur.

Neden Lazarus?

Delphi 10.2 Berlin sürümünde hem windows hemde linux için çapraz derleme tek adımda yapılabilmekte. Peki neden Lazarus? Cevap elbette çok basit; Delphi 10.2 berlin yeni geliştirici için lisans ücreti 24.04.2017 tarihi itibariyle kdv dahil 22.381,51 TL dir. Eğer bu lisans ücretinden daha çok paralar kazanan kişi yada kurumsanız tabiki Delphi 10.2 Berlin derim. Fakat öbür türlü bu lisansı ödemeden kaçak geliştirme yapmak size ciddi olarak zarar verecektir. Bu riske girmektente Lazarus tamamen ücretsiz olarak üstelik ARM da dahil bir sürü platform için çapraz derleme yapabilmekte ve hatırı sayılır bir kararlılıkta iş yapmakta. Bu yüzden Lazarus diyoruz :)

Çapraz Derleme için Gerekli Ayarlamalar

Ben ubuntu 64 bit 16.04.2 dağıtımını kullanmaktayım. Fakat bu anlatacakların herhangi bir linux dağıtımı için de geçerli olacaktır.

Eğer bilgisayarınızda kurulu değilse ilk önce lazarusu bilgisayarımıza kurmamız gerekiyor. Bunun için bi-dünya anlatım ve video internette mevcuttur. Lazarus’un kurulu olduğunu varsayarak;

Öncelikle bir terminal penceresi açıyoruz. Ubuntu için kısayolu Ctrl+Alt + T.

Daha sonra fpcrsrc nin hangi sürümü kurulduysa o dizine terminalden geçilir. Bende Lazarus 1.6.4 ile birlikte kurulan 3.0.2 sürümü mevcut

cd /usr/share/fpcsrc/3.0.2/

- Akabinde ilk “make install” işlemi dosyaların oluşturulacağı dizin belirtilerek yapılır. Oluşturma dizini /home/cross olsun. Terminale aşağıdakileri yazıyoruz:

sudo make install OS_TARGET=win64 CPU_TARGET=x86_64 INSTALL_PREFIX=~/cross

- Yukardaki işlemden sonra aşağıdaki “make crossinstall” işlemi yapılır.

sudo make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64

- son olarak /home/cross dizinimize oluşturduğumuz win64 derleyici dosyaları /usr/lib/fpc/3.0.2/units dizini altına kopyalanır.

sudo cp ~/cross/lib/fpc/3.0.2/units/x86_64-win64/ /usr/lib/fpc/3.0.2/units/ -r

Bu son adımdan sonra cross compile için altyapı hazır vaziyettedir. Bundan sonra lazarus ekranından hedef derleyiciyi seçip
derleme işlemini yapabiliriz. Bunun için şunları yapalım:

Lazarusta Çapraz Derleme İşlemi

-Lazarus'u çalıştırıyoruz
-Derlemek istediğimiz projemizi açıyoruz.
-Menuden
* Proje -> Proje Seçenekleri -> Compiler Options -> Config and Target
* Yan taraftaki Hedef İşletim Sistemi kısmını win64 yapıyoruz.
* OK butonun tıklayarak seçim işlemini tamamlıyoruz.

Geriye sadece Run menüsünden Compile’ e tıklayıp derlemek kalıyor. Bu işlemden sonra exe uzantılı bir dosyanın proje dizininde oluştuğunu görebilirsiniz. Hepsi bukadar.


Farklı Platformlar için Ayarlama Farklılıkları

Eğer 32 bit windows için çapraz derlemeye ihtiyacınız varsa
OS_TARGET=win32
CPU_TARGET=i386

olarak ayarlayarak aynı işlemleri yapabilirsiniz. Tabiki bu durumda kopyalama işlemi satırıda şu şekilde olacaktır:

sudo cp ~/cross/lib/fpc/3.0.2/units/i386-win32/ /usr/lib/fpc/3.0.2/units/ -r


Bunu dışında ARM, MacOsX, BSD, Solaris, WinCe, Android, Java bunun gibi bir sürü platform için rahatlıkla çapraz derleme yapabilirsiniz. Aşağıda vereceğim kaynaklarda bunun nasıl yapıldığı orijinal şekliyle anlatılmaktadır. Ayrıca güzel video anlatımından dolayı Sales Oliveira arkadaşıma teşekkürü bir borç bilirim.

Benden bukadar. Allah’a emanet olunuz.

Duralikiraz.blogspot.com
Muvaffakiyet Allahtandır.”

Kaynaklar:

Hiç yorum yok:

Yorum Gönder