Linux Kütüphanesi Bulunamadı Hatası

Başlatan chaluri, 08 Mayıs 2011 - 19:04:02

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

chaluri

İyi günler.

Ubuntu üzerinde sürücü gerçekleştirimi ile ilgili bir ödevle uğraşıyorum. Eclipse cdt üzerinde önce basit bir "hello world" uygulaması denemek istedim. Fakat #include<linux/module.h>, #include<linux/init.h> türü kütüphaneleri gösteremedim. Ubuntu'yu sıfırdan kurdum, synaptic paket yöneticisinden gcc, linux, kernel, eclipse vb. paket aramalarında alakalı olabilecek her türlü paketi yükledim fakat halen o kütüphaneleri gösteremiyorum. Nasıl çözebileceğim konusunda yardıma ihtiyacım var.

not:   Make dosyası ile konsoldan çalıştırmayı, usr/src klasörünü projeye include etmeyi falan da denedim, olmadı. Aynı hatayı verdi.
not2: Tüm bu paket kurulumlarının öncesi ve sonrasında usr/lib yolu altında linux klasörünü oluşturamadım.

İlgileriniz için teşekkür ederim...

travego0403

Bu kütüphanelerin ne işe yaradığını bilmiyorum ama kütüphanelerin başlık dosyalarının include edilmesi yeterli olmayabilir.Derleme esnasında kütüphanelerin bağlanması da gerekiyor olabilir.Belki sorunuz bu olabilir.Sadece bir tahmin.
Komut satırından -l (küçük le harfi)

g++ kaynak.cpp -o çalışabilirdosyanınadı -lbağlanacakdosya şeklinde bağlayabilirsiniz.


Örnek: OpenGL programlarına kütüphanelerin bağlanması

g++ kaynak.cpp -o program -lGL -lGLU -lglut
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

Erdem

Sanırım o başlık dosyalarını kullanabilmek için çekirdeğin kaynak kodları ve başlık dosyalarını kurman gerekiyor.

$ sudo apt-get install linux-headers-`uname -r`

Gene

$ uname -r

Çıktısına bakarak uyumlu çekirdek kaynak kodlarını da yüklemen gerekiyor galiba.

$ sudo apt-get install linux-source-2.6.17

Başlık dosyalarının ekleme dizini /lib/modules/çekirdek ismi/build/include gibi bir dizin oluyor. Ayrıca derleyiciye derlerken -O2 -DMODULE -D__KERNEL__  derleyici seçeneklerini geçmen gerekiyormuş galiba..
Eğer Arch Linux tabanlı bir dağıtıma geçmek isterseniz Arcolinux D sürümünü buradan indirebilirsiniz.

Elektronik

6ng4n

C için hiç denemedim ama C++ için std kütüphanesini kullanmanız yetiyor