16.2.14

Boost kütüphanesi derleme sorunu : LNK1104: cannot open file 'libboost_date_time-vc100-mt-gd-1_47.lib' benzeri hatanın çözümü

C++ üzerinde matematiksel işlemler yapanlar bilirler, opensource kaynak olarak boost bu tür işlemler üzerinde etkili bir kütüphanedir. C++ programlama dilinin izin vermediği bir çok işlemi boost sayesinde yapabilmekteyiz. Sunduğu değişik veri yapılarıyla da işimizi kolaylaştırabilmekte, örneğin matrix kütüphanesi her türlü lineer cebir işlemlerini kolayca yapmanızı sağlıyor.

C++ a bir süredir ara verdiğimden dolayı bu kütüphaneyi tekrar kullanma şansı bulamamıştım. Bugünlerde uğraştığım bir proje üzerinde çalışırken tekrardan boost kütüphanesini indirme şansım oldu. Visual studio 2013 ortamında derlemeye çalıştığım kütüphane ne yazık ki beni hayal kırıklığına uğrattı.

Her derlememde gelen  LNK1104: cannot open file 'libboost_date_time-vc100-mt-gd-1_47.lib' hatalarını çözmek için bir çok yol arasam da hiç biri fayda etmedi. Neyse ki sonrasında kütüphanelerin internetteki kaynaklarına ulaşarak sorunumu çözdüm. İşe yarayacağını düşündüğüm bazı yolları paylaşmak istedim.

1 - Derlenmeyen kütüphaneyi zip halinde indirdikten sonra kendi pc nizde lib dosyalarını oluşturmak;

  • Ilk olarak Start/Run penceresinden cmd ekranı açılır.
  • cmd ekranı üzerinden boost kütüphanesinin bulunduğu dizine girilir, örneğin C:\ üzerindeyken cd boost sizii C:\boost\ dizinine götürür.
  • Dizin içerisindeyken boostrap komutu çalıştırılır. Bu komut sayesinde bilgisayarınızda derleme işlemi başlayacaktır.
  • Sonrasında b2 komutuyla beraber lib dosyaları açılmaya başlanır. Bu işlem sonrasında boost dizini altında yeni bir klasör oluştuğunu göreceksiniz. 
2 - Derlenen lib dosyasını visual studio da tanıtmak;

  • Oluşturulan boost dizinini visual studio ortamında projeniz üzerindeyken sağ tıklayıp  ilk olarak properties diyerek C++/General kısmının Additional Include Directories bölümüne C:\boost_1_47_0; dizinini eklemeniz gerekmektedir.
  • Sonra Linker/Additional Library Directories kısmına da C:\Programs\boost_1_47_0\bin.v2\libs; ibaresini eklemeniz gerekmektedir.
Bu işlemler sonucunda projeniz derlenebilir konuma gelecektir. Eğer bu çözüm işinizi görmediyse diğer çözüme geçelim;

Visual studio'nun derleme sonucunda size verdiği hatayı, istediği kütüphaneyi, ilgili linkten bularak indirmeniz gerekmektedir.

İndirdikten sonra zip içinden ilgili lib i alarak boost içerisinde visual studio ya tanıttığınız yola bu dosyayı yapıştırırsanız sorununuz çözülmüş olacaktır.

Bu çözüm bende işe yaradı, baş ağrılarımı giderdi :) Umarım benim gibi aynı hatayı almış kişilere yardımım dokunabilir.

Hiç yorum yok:

Yorum Gönder