LİNUX'ta CMAKE İLE KÜTÜPHANE DERLEME
İşe başlamamla düzgün bir şekilde kütüphane derlemeyi öğrenebilmem arasında yaklaşık 3 aylık bir süre var. Üstelik birazdan göreceksiniz 10 dakika bile sürmeyecek bir konu.
Yalnız sadece opencv kurulumundan önce kurulması gereken birkaç tane kütüphane bulunmakta. Önce onları kurun:
sudo apt-get -y remove x264 libx264-dev## Install dependenciessudo apt-get -y install build-essential checkinstall cmake pkg-config yasmsudo apt-get -y install git gfortransudo apt-get -y install libjpeg8-dev libjasper-dev libpng12-devsudo apt-get -y install libtiff5-devsudo apt-get -y install libtiff-devsudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-devsudo apt-get -y install libxine2-dev libv4l-devcd /usr/include/linuxsudo ln -s -f ../libv4l1-videodev.h videodev.hcd $cwdsudo apt-get -y install libgstreamer0.10-dev libgstreamer-plugins-base0.10-devsudo apt-get -y install libgtk2.0-dev libtbb-dev qt5-defaultsudo apt-get -y install libatlas-base-devsudo apt-get -y install libmp3lame-dev libtheora-devsudo apt-get -y install libvorbis-dev libxvidcore-dev libx264-devsudo apt-get -y install libopencore-amrnb-dev libopencore-amrwb-devsudo apt-get -y install libavresample-devsudo apt-get -y install x264 v4l-utils# Optional dependenciessudo apt-get -y install libprotobuf-dev protobuf-compilersudo apt-get -y install libgoogle-glog-dev libgflags-devsudo apt-get -y install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen sudo apt-get -y install python3-dev python3-pipsudo -H pip3 install -U pip numpysudo apt-get -y install python3-testresources Cmake ile derleme işi içinde CMakeLists.txt dosyasını barındıran her türlü kütüphane kaynağı için kullanılabilir. Yalnızca ben görselliği arttırabilmek adına openCV kütüphanesinin derlenmesinden yola çıkacağım. Bu kafa karışıklığına sebebiyet vermesin. Genel anlamda anlatmayı amaçladığım içinde opencv'nin herhangi bir linkini vermiyorum. Daha sonra sadece opencv ile alakalı olan yazılarımda bu linkleri paylaşacağım.
Başlangıçta indirdiğiniz kütüphane dizinin içine giriyorsunuz ve orada terminal açıyorsunuz ya da aşağıdaki kodu kullanarak kütüphane içine direk terminalden ulaşabilirsiniz.
-- $ cd kütüphane-adı/
Sonra dizinin içine; istediğiniz herhangi bir isimde, derleme işlemini gerçekleştireceğiniz bir klasör oluşturuyorsunuz. bu klasör için genellikle "build" ismi kullanılır. Ben de bu ismi tercih ediyorum. Grafik arayüzünden kolaylıkla yapabilirsiniz ancak terminal kullanarak da aşağıdaki komut iş görür.
-- $ mkdir build
-- $ cd build
-- $ sudo apt-get install cmake-gui
komutlarıyla önce "build" klasörüne giriyoruz ardındanda derleme işlemini yapacak olan programın grafik arayüzünü bilgisayara yüklüyoruz. Bu sıralamanın herhangi bir önemi yok. İkinci komutu terminalin neresinden verirseniz verin aynı sonuca ulaşacaktır.
cmake-gui yüklemesinde farklı ekran çıktıları aldığınızda şaşırmayın. Bende önceden yüklü olduğu için şuan bu çıktıyı alıyorum.
-- $ cmake-gui ..
Bunlardan sonra yukarıdaki komutu girdiğinizde karşınıza grtafik arayüzünde çalışan cmake programı çıkacaktır. Komutun sonundaki iki nokta (..) önemlidir.
Cmake programına bir üst dizinin içindeki, benim dizinlerim için "~/opencv-3.2.0-copy", CMakeLists.txt dosyasını kullanmasını söyler. Farklı parametreleri iki noktadan önce girerek farklı konfigürasyonlar mümkün. Ancak cmake-gui genel anlamda gerekli olan her şeyi otomatik olarak gerçekleştiriyor.
Tek yapmanız gereken sol alttaki configure tuşuna iki kere, generate tuşuna da bir kere tıklamaktır.
Configure'e ilk tıkladığınızda CMAKESetup penceresi açılacak, herhangi bir şey yapmadan sadece finish butonuna tıklıyoruz.
İşlemlerin hemen ardından aşağıdaki gibi bir kırmızı ekran karşınıza çıkacak;
Panik yapmaya gerek yok, ikinci configure tıkı olayı çözecek, generate tıkı ile işlem tamamlanmış olacaktır. Bunlardan sonra başka hiçbir şey yapmadan cmake'i kapatıyoruz ve terminalde kaldığımız yerden aşağıdaki komutları giriyoruz.
** Eğer söz konusu olan cuda desteği ilebirlikte kullanmak istiyorsanız WITH_CUDA parametresini işaretlemeli ve https://github.com/opencv/opencv_contrib/archive/4.X.X.zip linkindeki `X` leri sizdeki sürüm ile aynı oalcak eşkilde değiştirerek OPENCV_EXTRA_MODULES_PATH parametresini PATH_TO_FILE/opencv_contrib-4.X.X/modules/ şeklinde doldurmalısınız.
-- $ make
-- $ sudo make install
Komutları sırayla girerseniz kafa karışıklığının önüne geçmiş olursunuz. İşlemler çoğunlukla uzun süren işlemlerdir. Süre işlemci gücünüze ve boştaki çekirdek sayınıza göre süre değişim gösterir. Özellikle eski arm mimarili işlemciler kullanıyorsanız 4-5 saate kadar çıkıyor. Ben raspberry pi 3'e kurdum. Yaklaşık 3 saat sürdü.
Bunlarında sonunda konfigürasyonu başarıyla tamamlamış oluyoruz.
-- $ pkg-config opencv --cflags
-- $ pkg-config opencv --libs
Komutlarıyla kütüphanenin include yolunu ve linkerlarını görebilirsiniz.
opencv yerine kendi kütüphanenizin adını yazabilirsiniz. İsimle ilgili sorun yaşıyorsanız pkg-config ten sonra birkaç kere tab tuşuna basın. Size bilgisayarınızda bulunan kütüphanelerin listesini çıkartacaktır. Aralarından seçebilirsiniz.
Kütüphane derlemek dediğimiz olay tamamıyla bundan ibaret. Yardımcı olabildiğimi düşünüyorum. Umarım iş görür.
Cem Baybars GÜÇLÜ









Yorumlar
Yorum Gönder