Anasayfa »
OMNeT++ Class Not Found Hatası ve Çözüm Yöntemi
Yazar:
Ali Arslan
Uzun süre TOSSIM kullandıktan sonra OMNeT++ ağ simlülatörünü kullanmaya başladım. Elbette ki her yeni başlangıcın bazı alışma süreçleri olacaktır.
İlk kodlamamı yaparken, şöyle bir sorunla karşılaştım :
Sorunda da anlayacağınız üzere ağ simülasyonu "blogkafem" isimli sınıfı bulamıyor. Bu problemin çözümü için ilk başta internette Eclipse ile ilgili bazı bağlantı ayarlarınızda problemler olduğunu anlatan bazı web siteleriyle karşı karşıya gelebilirsiniz. Sorunun Eclipse'ten (omnet'in varsayılan yazılım geliştirme editörü) kaynaklanıp kaynaklanmadığını anlamak için ise, hazır örneklerden bir tanesini çalıştırıp simüle etmenizi öneririm. Şayet herhangi bir sıkıntı yaşamazsanız ve sıkıntı yalnızca sizin yazdığınız koda meydana geliyorsa ufak bir ayrıntıyı gözden kaçırdığınızı söyleyebilirim.
Çözüm gayet basit aslında. Bunu anlamak için, biraz daha fazla dikkatli olmak hatayı iyi anlamak yeterli olacaktır.
.NED uzantılı (Network Description File) olan dosyanızı açın.
Örnek olsun diye benim kodumun şöyle olduğunu varsayıyorum.
Burada, simple olarak tanımlı "blogkafem" sınıfı ile,
.CC uzantılı program dosyasının adı ve class ismi aynı olmalı.
Bakınız, blogkafem.cc uzantılı program dosyasının içeriği :
Bu isimlerin farklı olması durumunda, OMNeT simülatörü .NED uzantılı dosyanızdaki sınıf ile .CC uzantılı dosyanızda yer alan sınıfları birbirlerinden bağımsız sınıflar olarak değerlendirdiği için, bu durum size hata olarak dönmektedir.
Konuyla ilgili yorumlarınızı alttaki yorum formu aracılığıyla bana iletebilirsiniz. Kolay gelsin.
İlk kodlamamı yaparken, şöyle bir sorunla karşılaştım :
Error in module (omnetpp::cModule) ag (id=1) during network setup: Class "blogkafem" not found -- perhaps its code was not linked in, or the class wasn't registered with Register_Class(), or in the case of modules and channels, with Define_Module()/Define_Channel().
Sorunda da anlayacağınız üzere ağ simülasyonu "blogkafem" isimli sınıfı bulamıyor. Bu problemin çözümü için ilk başta internette Eclipse ile ilgili bazı bağlantı ayarlarınızda problemler olduğunu anlatan bazı web siteleriyle karşı karşıya gelebilirsiniz. Sorunun Eclipse'ten (omnet'in varsayılan yazılım geliştirme editörü) kaynaklanıp kaynaklanmadığını anlamak için ise, hazır örneklerden bir tanesini çalıştırıp simüle etmenizi öneririm. Şayet herhangi bir sıkıntı yaşamazsanız ve sıkıntı yalnızca sizin yazdığınız koda meydana geliyorsa ufak bir ayrıntıyı gözden kaçırdığınızı söyleyebilirim.
Çözüm gayet basit aslında. Bunu anlamak için, biraz daha fazla dikkatli olmak hatayı iyi anlamak yeterli olacaktır.
.NED uzantılı (Network Description File) olan dosyanızı açın.
Örnek olsun diye benim kodumun şöyle olduğunu varsayıyorum.
simple blogkafem
{
gates:
input in;
output out;
}
Burada, simple olarak tanımlı "blogkafem" sınıfı ile,
.CC uzantılı program dosyasının adı ve class ismi aynı olmalı.
Bakınız, blogkafem.cc uzantılı program dosyasının içeriği :
class blogkafem : public cSimpleModule{
protected:
virtual void initialize();
virtual void handleMessage(cMessage *msg);
};
Bu isimlerin farklı olması durumunda, OMNeT simülatörü .NED uzantılı dosyanızdaki sınıf ile .CC uzantılı dosyanızda yer alan sınıfları birbirlerinden bağımsız sınıflar olarak değerlendirdiği için, bu durum size hata olarak dönmektedir.
Konuyla ilgili yorumlarınızı alttaki yorum formu aracılığıyla bana iletebilirsiniz. Kolay gelsin.
Ubuntu'da TinyOS İçin Eclipse Kurulumu ve Yet2 Konfigürasyonu
Yazar:
Ali Arslan
Önceki yazılarda TinyOS kurulumundan, test aşamasına ve hatta karşılaşan hataların çözümlerine bir çok konuda yazı yazdım.
Bakınız : TinyOS Kurulumu ve Hata Çözümleri
Şimdi ise sıra, Ubuntu'da TinyOS için Eclipse kurulumuna geldi. Eclipse kurulumunu başarıyla gerçekleştirdikten sonrasında ise Yet2 eklentilerinin Eclipse'e nasıl entegre edeceğimizi göstereceğim.
1. Aşağıdaki kodları sırasıyla terminal ekranında çalıştırarak Eclipse kurulumunu yapalım.
2. TinyOS için gerekli olan Eclipse sürümünü başarıyla kurduktan sonra Eclipse programını açın. En üstteki menüden şu adımları uygulayın.
Bakınız :
3. Karşınıza gelecek olan pencereden "Add..." yazılı butona tıkladıktan sonra, karşınıza alttaki gibi küçük bir ekran açılacaktır.

Bu ekranda yer alanları aşağıdaki gibi doldurun;
Daha sonra"OK" butonuna tıklayın. Paketlerin yüklendiğini göreceksiniz.
Bakınız :

"Select All" yaparak yüklenen tüm bu paketleri seçin ve "Next" butonuna tıklayın. Sonraki adımda da yine tüm paketler seçili ise bu sefer "Finish" butonuna basarak kurulumu tamamlamak üzere Eclipse'in bu paketleri kendine entegre etmesini bekleyiniz.
Bakınız;

Ben paketleri daha önceden kurduğum için ekran görüntüsündeki "Finish" butonu bende pasif ama sizde aktif olarak gözükecektir.
Kurulumlar bittikten sonra menüden "Window -> Preferences" kısmına tıklayınız. Sol menüye "TinyOS"un gelmiş olduğunu görürseniz eğer, Eclipse ile TinyOS konfigürasyonu başarılı bir şekilde gerçekleşmiş demektir.
Bakınız :

Solda ve en alt kısımda yer alan TinyOS menüsüne tıkladıktan sonra, "opening problems tinyos.perspective eclipse" sorunu ile karşılaşırsanız eğer, bilgisayarınıza en son java sürümünü kurarak bu sorunu çözebilirsiniz.
Bakınız : TinyOS Kurulumu ve Hata Çözümleri
Şimdi ise sıra, Ubuntu'da TinyOS için Eclipse kurulumuna geldi. Eclipse kurulumunu başarıyla gerçekleştirdikten sonrasında ise Yet2 eklentilerinin Eclipse'e nasıl entegre edeceğimizi göstereceğim.
1. Aşağıdaki kodları sırasıyla terminal ekranında çalıştırarak Eclipse kurulumunu yapalım.
sudo apt-get update
sudo apt-get install eclipse eclipse-cdt eclipse-gef
2. TinyOS için gerekli olan Eclipse sürümünü başarıyla kurduktan sonra Eclipse programını açın. En üstteki menüden şu adımları uygulayın.
Help -> Install Software
Bakınız :
3. Karşınıza gelecek olan pencereden "Add..." yazılı butona tıkladıktan sonra, karşınıza alttaki gibi küçük bir ekran açılacaktır.

Bu ekranda yer alanları aşağıdaki gibi doldurun;
Name : Yeti2 Update Site
Path : http://tos-ide.ethz.ch/update/site.xml
Daha sonra"OK" butonuna tıklayın. Paketlerin yüklendiğini göreceksiniz.
Bakınız :

"Select All" yaparak yüklenen tüm bu paketleri seçin ve "Next" butonuna tıklayın. Sonraki adımda da yine tüm paketler seçili ise bu sefer "Finish" butonuna basarak kurulumu tamamlamak üzere Eclipse'in bu paketleri kendine entegre etmesini bekleyiniz.
Bakınız;

Ben paketleri daha önceden kurduğum için ekran görüntüsündeki "Finish" butonu bende pasif ama sizde aktif olarak gözükecektir.
Kurulumlar bittikten sonra menüden "Window -> Preferences" kısmına tıklayınız. Sol menüye "TinyOS"un gelmiş olduğunu görürseniz eğer, Eclipse ile TinyOS konfigürasyonu başarılı bir şekilde gerçekleşmiş demektir.
Bakınız :

Solda ve en alt kısımda yer alan TinyOS menüsüne tıkladıktan sonra, "opening problems tinyos.perspective eclipse" sorunu ile karşılaşırsanız eğer, bilgisayarınıza en son java sürümünü kurarak bu sorunu çözebilirsiniz.

