arşiv

‘Visual Studio’ kategorisi için arşiv

Visual Studio “compiler limit : internal heap limit reached” hatasını gidermek

Cumartesi, 22 Oca 2011 yorum yok

Visual studio da proje büyüdükçe alabileceğiniz hata sayısı artar. Bunlardan biride heap limitini geçme hatasıdır. Visual studio “precompiled header” ‘lar için varsayılan olarak 50 mb hafıza alamaya ( allocate ) izin verir. Proje büyük ise bu alanı aşmanız normaldir.

Aldığınız hata aşağıda ki gibi olacaktır.

Error	2	fatal error C1076: compiler limit : internal heap limit reached;
 use /Zm to specify a higher limit
Error	1	error C3859: virtual memory range for PCH exceeded; please recompile with
 a command line option of '-Zm144' or greater

Burada aslında zaten ne olduğunu yazmakta ama nasıl kullanılacağı yazmamaktadır. Sizin yapmanız
 gereken 50 MBlık varsayılan değeri ihtiyacınız olana çıkarmaktır.

Sayı  Hafıza Alanı
10	5.0 MB
100	50 MB
200	100 MB
1000	500 MB
2000	1000 MB
En büyük alan olarak 1000MB a izin verilmektedir. Bunu derlerken parametre olarak vermelisiniz.
/ZmSayı sayı şeklinde birleşik olarak derleme parametresi olarak vereceksiniz. Sayı ile gördüğünüz
yukarıda belirtilen şekildedir. Örneğin /Zm2000 yazarsanız 1000 MBlık izin vermiş olursunuz.
Bu parametre aşağıdaki gibi verilir.
Alanı büyütmek istediğiniz proje üzerinde sağ tıklayıp özelikler deyin.
C/C++ yazan yere gelin.
Komut satırı (Cammand line) bölümü açın.
"Additional Options box" yazan kısma /ZmSayı şeklinde girin.
Derleme yaptığınızda bu sefer hata almamanız gerekir.
Hatasız kod yazmanız dileğiyle.
İyi Çalışmalar.

Toplam Görüntülenme: 56

Visual Studio Arayüz Açılmama Hatasını Giderme

Pazartesi, 06 Eyl 2010 2 yorum

Merhabalar;

Visual studio 2005 te veya daha sonra ki sürümlerde bazen arayüzü açmaya çalıştığınızda açılamadığını ve aşağıdakine benzer bir hata aldığınızı görürsünüz.

<html><head><META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=UTF-8″><title></title><style>.ErrorStyle { font-family: tahoma; font-size: 11 pt; text-align: left}.DetailsStyle { font-family: tahoma; font-size: 10pt; text-align: left;text-indent: 0; word-spacing: 0; line-height: 100%; float: left; margin-top: 0; margin-bottom: 0}.StackStyleVisible { font-family: tahoma; font-size: 10pt; text-align: left; margin-left: 20; text-indent: 0}.StackStyleHidden { display:none; font-family: tahoma; font-size: 10pt; text-align: left; margin-left: 20; text-indent: 0}</style></head><body><DIV width=”100%”><table border=”0″ width=”100%” id=”table1″ height=”100%” cellspacing=”0″ cellpadding=”0″><tr><td height=”40″ bgcolor=”#FF9999″ width=”8%” style=”letter-spacing: 0″ align=”center”><img border=”0″ src=”C:\Documents and Settings\Adil Karaöz\Local Settings\Temp\1712822.tmp” width=”35″ height=”35″ alt=”ErrorImage” ></td><td height=”40″ bgcolor=”#FF9999″ width=”91%” style=”vertical-align: top; letter-spacing: 0″ align=”left”><b><font size=”2″ face=”Arial” fontsize=”70%”>One or more errors encountered while loading the designer. The errors are listed below. Some errors can be fixed by rebuilding your project, while others may require code changes.</font><font size=”2″ face=”Arial”></font></b></td></tr><tr><td colspan=”2″ align=”left” valign=”top”><DIV id=”div1″ width=”100%”><span style=”font-weight: 600″><br>The variable ‘speedUnitBox’ is either undeclared or was never assigned. </span><br><a href=”" id=”details0″>Hide</a><font color=”#0000FF”>&nbsp;&nbsp;&nbsp;&nbsp</font></DIV> </td> </tr> <tr><td colspan=”2″ align=”left” valign=”top”><DIV id=”div20″ width=”100%”><br>   at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)<br>   at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)<br>   at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)<br>   at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)</DIV></td></tr></table></div></body></html>

Burada bu hatayı alma nedeninizin bir kaçı üzerinde duracağım ve çözümünü sunacağım.

Öncelikle belirteyim ki Visual Studio arayüz’ü intellisense yöntemi ile açar. Ve bunu program geliştirirken belirli aralıklarla günceller. Öncelikle bu hatayla karşılaşmışsanız eğer intellisense’iniz patlamış olabilir.

İlk yapmanız gereken visual studio’yu tekrar kapatıp açmak. Bu şekilde visual studio ilk açılışta intellisense’i günceller ve bu da açılmasına zemin oluşturur.

Bu da olmadı ise projenin bulunduğu klasöre gidin ve .ncb uzantılı intellisense dosyasını bulup silin. Daha sonra visual studio’yu yeniden başlatın. Bu sayede tüm intellisense yeniden alınacak.

Çoğu kişi ise intellisense’i artırmak için intellisense dll’ini siler veya farklı şekilde adlandırır. Bu sayede intellisense iptal olur. Fakat daha sonra arayüz’ün açılmaması gibi hatalarla karşılaşırsınız. Tavsiyem C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages altında ki feacp.dll dosyasını oraya tekrar koymanız ve visual studio’yu yeniden başlatmanız. Bu sayede intellisense yeniden açılacak.

Diğer bir konu ise arayüzün açıldığı zamanlarda kullandığınız dll, class veya struct gibi yapının şu anda bulunup bulunmaması. Eğer yok veya kaldırmış iseniz intellisense bunu bulamayacağı için bu hatayı alacaksınızdır. Geçerli olmayan ne varsa koddan silin ve visual studio’yu yeniden başlatın.

En son ve anlatacağım çözüm ise şu. Daha sonralardan arayüz classınızın üzerinde aynı namespace’de class veya struct tanımlamış olabilirsiniz. Bu class’ı alın ve mümkünse başka dosyadan çağırın. Özellikle visual studio 2005 bu gibi kullanımları kabul etmez ve bu şekilde hata alırsınız.

Çözümlerin işinize yaraması dileğiyle.

Selamlar

Toplam Görüntülenme: 142

openCV 2.x’in Visual Studio’ya entegresi

Pazartesi, 01 Mar 2010 2 yorum

http://sourceforge.net/projects/opencvlibrary/ buradan openCV’nin en son versiyonunu indiriyoruz. Ben şu anda 2.2 versiyonu varmış gibi anlatacağım. Daha sonra standart program kurulumu gibi kuruyoruz. Varsayılan olarak C:/OpenCV2.2 klasörüne kurulmakta, eğer başka yere kuracaksanız nereye kurduğunuzu aklınızda tutun.

Daha sonra visual studio’yu açalım. Yeni proje oluştururalım.

Proje oluşturduktan sonra “solution explorer” bölümünde projemize sağ tıklayarak “properties” diyelim.
Açılan pencereden sol yukarıdan “All configuration” seçelim.
Altta ki sol bölmeden C/C++ seçelim.
Sağ pencerede ki “Additional include directories” alanına

Selec All Code:
C:\OpenCV2.2\include

yazalım.
Burada nereye kurmuş iseniz onu yazınız.

Yine sol taraftan “Linker” altından “Input” seçelim.
Sağda “Additional Dependencies” alanını görüyoruz. Buraya ise opencv’nin kullanacağımız kütüphanelerini ekleyeceğiz.
En önce sol yukarıdan Debug seçelim.
“Additional Dependencies” alanına

Selec All Code:
opencv_core220d.lib opencv_highgui220d.lib

yazalım.
Daha sonra yine sol yukarıdan Release seçelim.
“Additional Dependencies” alanına

Selec All Code:
opencv_core220.lib opencv_highgui220.lib

yazalım.

Ayrıca bu kütüphanelerden başka kütüphaneler kullanacaksanız eğer bu şekilde ekleyin. Tek bilmeniz gerekenler debug için sonunda “d” harfi olanları, Release için ise “d” harfi olmayanları eklemek.

Kod yazarken de #include <opencv/cv.h> olacak şekilde ayarlarsanız dosyalarınızı taşınabilir kılarsınız. Çünkü linux sistemlerinde de genelde bu şekilde include edilmektedir.

Selamlar

Related Posts Plugin for WordPress, Blogger...

Toplam Görüntülenme: 600