Visual Studio da Header ve Library Dosyalarını Include Etme
Visual Studio kullanarak büyük kapsamlı projelerle uğraşıyorsanız başka kütüphanelere ihtiyacınız olacaktır. İşte bu kütüphaneleri projenize dahil etmeniz gerekiyor. Bu işlemi yapmanın bi kaç yolu vardır.
İlk önce bahsedeceğim konu newbieler için bir projede external bir fonksiyonu kullanabilmek için o fonksiyonu içeren header dosyasını yani .h uzantılı dosyasını include etmemiz gerekiyor. En basidinden #include<stdlib.h> buna güzel bir örnektir. Böyle kullanmak kolaydır, basit olur. Aksi durumlarda fonksiyon library file içinde olabilir. Bu dosyalar .lib uzantılı paketlenmiş kütüphanelerdir. Bunları projeye dahil etmek için izleyeceğimiz yollar şöyledir (anlatım Visual Studio 2008 ve SP1 içindir):
– Projeye sağ tıklanarak “Properties” e gelinir.
– Linker -> Input kısmına gelinir. Ordan “Additional Dependencies”e gelinir ve karşısına aralara noktalı virgül koyarak istenen lib dosyalarının isimleri yazılır. Dikkat: Path değil ismleri yazılır sadece.
Mesela şöyle bir görüntü oluşabilir:
Projeyi build ettiğinizde yüksek ihtimalle dosyaismi.lib dosyasını bulamadım diye uyarı verir.Hata ise şöyledir
–Unresolved external symbol-
Nedeni ise kullanmak istediğimiz .lib dosyasının yolunu belirtmedik.Anlatacağımız mesele burada devreye giriyor.
Header ve lib dosyalarının pathlerini vermenin yöntemleri şu şekildedir:
1) Header:Projeye sağ tık Properties, C/C++ -> General -> Additional Include Directories. Buraya kod içinde #include<dosyaismi.h> diye include ettiğimiz header dosyasının içerildiği pathi giriyoruz. Böylece external bir kütüphaneyi dilediğimiz gibi kullanabiliyoruz.
Library file: Bunun için de Projeye sağ tık Properties, Linker -> General -> Additional Library Directories’in karşısına yukarıdaki gibi kullanmak istediğimiz lib uzantılı dosyanın içerildiği pathi yazıyoruz. OK diyip çıkıyoruz. Rebuild solution tada hata kaybolacak. Başka bişi yoksa çalışacak muhtemelen.
Bu ilk çözüm takdir edersiniz ki projeye özel bir çözüm. Daha genel geçer bir çözüm aşağıda:
2) External header ve lib dosyalarını sık sık değişik projelerde kullanılacaksa bu yöntem daha uygun sanki. Visual Studio ana penceresinde Tools -> Options -> Projects and solutions -> VC++ Directories’e gelinir. Sağ kısımın sağ üst köşesinde Show directories for yazar onun altındaki dropdown listten “Include files” veya “Library files”a gelerek istenen header veya lib dosyalarının içerildiği pathler yazılır. Böylece hiç projenin ayarlarını değiştirmeden buradan dahil edilebilir.
3) Bu biraz hantalca olacak ama küçük ve az dosyalı bi kütüphaneyle çalışılıyorsa yapılabilir:kullandığınız header dosyalarını falan doğrudan projenin source klasörü içine atmak
Peki dosyaları arama sırası nedir?
1. Build aşamasında ilk olarak ilgili source klasörüne bakılır
2. Proje Properties’indeki Additional Include Directories’de bakılır
3. Tools-> Options’tan ayarlanan VC++ Directories’e bakılır
Artıları eksileri nelerdir?
Bi kere 1. yöntemle hazırlanmış projeleri paylaşması paylaşılan insan için daha kolaydır. Çünkü bi de projenin ayarlarını yapmakla uğraşmaz doğrudan build edebilir tabi aynı pathlerde aynı kütüphaneler varsa.(ortam değişkenleri de aslında bunun için var bence). Taşınabilirlik artar. 2. yöntemde taşınabilirlik yok adam projeyi alınca bi de ayarlarını yapar include edilen liblerin yollarını bulup belirtir. Ama 2. yöntemde de sürekli yeni proje açtıkça aynı ayarlar yapılmayıp rahat edilir. 3. yöntemde de projenin boyutu falan büyüyor.
Umarım işinize yarar
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Codeigniter Dersleri – 25 – Helper Dosyalarında Session ve Cookie Kullanımı
Sonraki: Htaccess Url Yönlendirme ve Kullanımı >>>
Yorum Bırakın!