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 dependencies
sudo
apt-get -y
install
build-essential checkinstall cmake pkg-config yasm
sudo
apt-get -y
install
git gfortran
sudo
apt-get -y
install
libjpeg8-dev libjasper-dev libpng12-dev
sudo
apt-get -y
install
libtiff5-dev
sudo
apt-get -y
install
libtiff-dev
sudo
apt-get -y
install
libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo
apt-get -y
install
libxine2-dev libv4l-dev
cd
/usr/include/linux
sudo
ln
-s -f ..
/libv4l1-videodev
.h videodev.h
cd
$cwd
sudo
apt-get -y
install
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo
apt-get -y
install
libgtk2.0-dev libtbb-dev qt5-default
sudo
apt-get -y
install
libatlas-base-dev
sudo
apt-get -y
install
libmp3lame-dev libtheora-dev
sudo
apt-get -y
install
libvorbis-dev libxvidcore-dev libx264-dev
sudo
apt-get -y
install
libopencore-amrnb-dev libopencore-amrwb-dev
sudo
apt-get -y
install
libavresample-dev
sudo
apt-get -y
install
x264 v4l-utils
# Optional dependencies
sudo
apt-get -y
install
libprotobuf-dev protobuf-compiler
sudo
apt-get -y
install
libgoogle-glog-dev libgflags-dev
sudo
apt-get -y
install
libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
sudo
apt-get -y
install
python3-dev python3-pip
sudo
-H pip3
install
-U pip numpy
sudo
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