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/lib/fpc/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/ /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:

https://www.youtube.com/watch?v=LpicDL-1eV0

7 Ekim 2016 Cuma

Ubuntu da Nokta vuruşlu (Dot Matrix) Yazıcının Tanıtılması


Ubuntu da Nokta vuruşlu (Dot Matrix) Yazıcının Tanıtılması


Öncelikle bir adet “usb to Lpt” dönüştürücü kablosu alıp bilgisayar ve yazıcıya bağlayıp fiziksel bağlantıyı temin ediyoruz. (Bendeki VCOM marka dönüştürücü kablo sistemimde “QinHeng Electronics CH340S” olarak usb bağlantı noktasından bağlanmış gözükmekte. Sizdeki kablonun markasına göre farklı gözükebilir. Ama mantık aynı.) Daha sonra iş yazıcının yüklenmesine geliyor. Bunun için unity seçkesinden “Yazıcılar” diye aratıp yazcılar ekranını açıyoruz. Bu ekrandan sol üstteki ekle butonuna tıklıyoruz.


































Bu ekranda en üstteki Unknown seçildiğinde USB portumuzdaki yazıcı olduğu görülmekte. Forward (İleri) butonuna bastığımızda aşağıdaki ekran gelmekte.

































Bu ekranda yazıcımızı Generic (Önerilen) olarak seçmeliyiz. Sonrasında aşağıdaki ekran bizi karşılayacak.


































İşin can alıcı noktası burada. Benim yazıcım 9 iğneli bir yazıcı. Tam olarak markası “Olivetti DM 309”. Bu yazıcıya uyumlu ve Türkçe karakterleri düzgün basabilmek için Model olarak “IBM-Compatible Dot Matrix” seçeneğini seçmemiz gerekmekte. Sonrasında aşağıdaki ekran gelir.



































Görülen bu ekranda yazıcımıza sistemde kayıtlı olmayan benzersiz bir isim verip “Apply” butonuna basmamız gerekmekte. Hepsi bukadar.

Elinde böyle bir nokta vuruşlu yazıcısı olupda deneme yapmak isteyenler için ben lazarus kurulumu ile birlikte gelen bir örneği önerebilirim. Bu örnek “raw print” yapmakta. Yani nokta vuruşlu yazıcılar için gerekli olan hızlı eski tabiriyle “DOS print” olayını yapmakta. Bu örneğe aşağıdaki yol ile ulaşabilirsiniz.

/usr/lib/lazarus/1.6/components/printers/samples/rawmode


Durali kiraz
duralikiraz.blogspot.com

"Muvaffakiyet Allahtandır"