<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>LeafLabs Garden &#187; Topic: Compiling Question</title>
		<link>http://forums.leaflabs.com/topic.php?id=117</link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:09:22 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?topic=117" rel="self" type="application/rss+xml" />

		<item>
			<title>bnewbold on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117&amp;page=2#post-957</link>
			<pubDate>Thu, 02 Sep 2010 15:32:18 +0000</pubDate>
			<dc:creator>bnewbold</dc:creator>
			<guid isPermaLink="false">957@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;FOR() loops are fine, use which ever you prefer.&#60;/p&#62;
&#60;p&#62;My guess is that the compiler is giving good information about a problem with the for() arguments but that this information is not being passed through in the IDE. We are working on simplifying the interface between the IDE and compiler so that more information will stream through. Full compiler information in the IDE is definitely the expected and correct behavior.&#60;/p&#62;
&#60;p&#62;In the short term pulling out the declarations of 'int i' and 'int len' like gbulmer recommends but still using a for loop might help find the problem. C++ allows initialization of variables in the for() parameters but C does not; the sketch is C++ so this shouldn't be a problem but it's worth checking.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>StephenFromNYC on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-956</link>
			<pubDate>Thu, 02 Sep 2010 09:55:53 +0000</pubDate>
			<dc:creator>StephenFromNYC</dc:creator>
			<guid isPermaLink="false">956@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;September 2, 2010&#60;/p&#62;
&#60;p&#62;Hello-&#60;/p&#62;
&#60;p&#62;Does the LeafLabs development team suggest converting all FOR() loops into WHILE() loops?&#60;/p&#62;
&#60;p&#62;Are equivalent FOR() loops and WHILE() loops compiled to the same object code?&#60;/p&#62;
&#60;p&#62;Thanks!&#60;/p&#62;
&#60;p&#62;Stephen from NYC
&#60;/p&#62;</description>
		</item>
		<item>
			<title>leaflabsandy on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-951</link>
			<pubDate>Thu, 02 Sep 2010 04:21:32 +0000</pubDate>
			<dc:creator>leaflabsandy</dc:creator>
			<guid isPermaLink="false">951@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Quote: &#34;Andy, this is clutching at straws ...&#60;/p&#62;
&#60;p&#62;Have you tried converting e.g.:&#60;br /&#62;
for (int i=0 ; i&#38;lt;strlen(Text) ; i++)&#60;br /&#62;
into&#60;br /&#62;
int i = 0;&#60;br /&#62;
int len = strlen(Text);&#60;br /&#62;
while (i&#38;lt;len) { .... ++i; }I'm wondering if one of the gcc flags is enforcing some weird, or there's something else subtle happening, and this might split the error message to a component of the for loop to make it easier to home in on.&#60;/p&#62;
&#60;p&#62;Just a thought. &#60;/p&#62;
&#60;p&#62;Reply: I very good thought I may say ... it fixed the unknown compile errors and&#60;br /&#62;
the code still works. &#60;/p&#62;
&#60;p&#62;LeafLabs should examine these &#34;minor compiler&#34; errors and tweak them so they don't happen for other users?&#60;/p&#62;
&#60;p&#62;I do like to add that the code works with either group of commands. The first way&#60;br /&#62;
shows (red) errors but no ref. to the (red) errors and it compiles the lib. and&#60;br /&#62;
sketch anyway. So it can be said that if the compiler does not point to (gives a line&#60;br /&#62;
number) and compiles away then it is not a problem?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-949</link>
			<pubDate>Wed, 01 Sep 2010 21:39:06 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">949@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I'm with Andy - compilation needs to be rock solid. &#60;/p&#62;
&#60;p&#62;IMHO if there are weird errors from the IDE/compiler, folks start to lose confidence in the IDE, and blame the IDE for errors rather than assume it's their programs.&#60;/p&#62;
&#60;p&#62;My $0.02&#60;/p&#62;
&#60;p&#62;(Again sorry for my slow response, I got side tracked I guess when this was first written.)
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-948</link>
			<pubDate>Wed, 01 Sep 2010 21:32:54 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">948@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Feyr - sorry I didn't respond earlier&#60;/p&#62;
&#60;blockquote&#62;&#60;p&#62;im sure not the ease of use of the IDE really amount of anything when it's hiding so much of the useful features.
&#60;/p&#62;&#60;/blockquote&#62;
&#60;p&#62;What features are hidden? &#60;/p&#62;
&#60;p&#62;I get at the Arduino peripherals, like timers directly, or I/O pins, and there is nothing to prevent me.&#60;br /&#62;
I regularly write many file sketches, including &#34;raw&#34; C/C++. &#60;/p&#62;
&#60;p&#62;I don't understand what features are hidden. Do you mean a debugger? Would you explain?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-947</link>
			<pubDate>Wed, 01 Sep 2010 21:25:10 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">947@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Andy, this is clutching at straws ...&#60;/p&#62;
&#60;p&#62;Have you tried converting e.g.:&#60;br /&#62;
&#60;code&#62;for (int i=0 ; i&#38;lt;strlen(Text) ; i++)&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;into&#60;br /&#62;
&#60;pre&#62;&#60;code&#62;int i = 0;
int len = strlen(Text);
while (i&#38;lt;len) { .... ++i; }&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;I'm wondering if one of the gcc flags is enforcing some weird, or there's something else subtle happening, and this might split the error message to a component of the for loop to make it easier to home in on.&#60;/p&#62;
&#60;p&#62;Just a thought.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>leaflabsandy on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-946</link>
			<pubDate>Wed, 01 Sep 2010 20:29:37 +0000</pubDate>
			<dc:creator>leaflabsandy</dc:creator>
			<guid isPermaLink="false">946@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;During compile, I have three &#34;unknown&#34; compile errors below in red that point to nothing. The errors seem to come from the three library functions below.&#60;/p&#62;
&#60;p&#62;In all three functions there is a &#34;for statement&#34; By removing the &#34;for statement&#34;&#60;br /&#62;
fixes the unknown compile error(s) It seems the compiler does not like the&#60;br /&#62;
&#34;for statements&#34; but compiles and libraray anyway and continues on to compiling the sketch?&#60;/p&#62;
&#60;p&#62;What gives? &#60;/p&#62;
&#60;p&#62;(in red)&#60;br /&#62;
C:\Documents and Settings\Master\My Documents\MapleIDE\libraries\uOLED\uOLED.cpp: In member function 'void uOLED::Text(char, char, char, unsigned int, char*, char)':&#60;/p&#62;
&#60;p&#62;(in red)&#60;br /&#62;
C:\Documents and Settings\Master\My Documents\MapleIDE\libraries\uOLED\uOLED.cpp: In member function 'void uOLED::TextGraphic(unsigned int, unsigned int, char, unsigned int, char, char, char*, char)':&#60;/p&#62;
&#60;p&#62;(in red)&#60;br /&#62;
C:\Documents and Settings\Master\My Documents\MapleIDE\libraries\uOLED\uOLED.cpp: In member function 'void uOLED::TextButton(char, unsigned int, unsigned int, unsigned int, char, unsigned int, char, char, char*)':&#60;/p&#62;
&#60;p&#62;	Compiling the sketch...&#60;/p&#62;
&#60;p&#62; In function 'void loop()':&#60;/p&#62;
&#60;p&#62;	running linker asynchronously...&#60;br /&#62;
	running obj copy asynchronously...&#60;br /&#62;
	running size asynchronously...&#60;/p&#62;
&#60;p&#62;C:\DOCUME~1\Master\LOCALS~1\Temp\build2802330389199170229.tmp\Oled_R3E.cpp.bin  :&#60;br /&#62;
section    size   addr&#60;br /&#62;
.data   21224      0&#60;br /&#62;
Total   21224&#60;/p&#62;
&#60;p&#62;Binary sketch size is reported above. Check it against a 100000 byte maximum.&#60;br /&#62;
-------------------&#60;br /&#62;
end of compile info&#60;br /&#62;
-------------------&#60;/p&#62;
&#60;p&#62;-------------------------------&#60;br /&#62;
Library code QVGA touch screen&#60;br /&#62;
-------------------------------&#60;/p&#62;
&#60;p&#62;void uOLED::Text( char col, char row, char font, unsigned int color, char *Text, char transparent)&#60;br /&#62;
{&#60;br /&#62;
  TextMode(transparent);&#60;/p&#62;
&#60;p&#62;  write(0x73);&#60;br /&#62;
  write(col);&#60;br /&#62;
  write(row);&#60;br /&#62;
  write(font);&#60;br /&#62;
  //write(color &#38;gt;&#38;gt; 8);&#60;br /&#62;
  //write(color &#38;amp; 0xFF);&#60;br /&#62;
  write(highByte(color));&#60;br /&#62;
  write(lowByte(color)); &#60;/p&#62;
&#60;p&#62;  for (int i=0 ; i&#38;lt;strlen(Text) ; i++) //&#38;lt;-----------------&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#60;br /&#62;
  {&#60;br /&#62;
    write(Text[i]);&#60;br /&#62;
  }&#60;br /&#62;
  write(byte(0x00));       // to 'fool' the compiler. (without typecasting the compiler complains about the 0 (zero) as being ambiguous)&#60;br /&#62;
  res=RBack();&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;void uOLED::TextGraphic(unsigned int col, unsigned int row, char font, unsigned int color, char Width, char Height, char *text, char transparent)&#60;br /&#62;
{&#60;br /&#62;
  TextMode(transparent);&#60;/p&#62;
&#60;p&#62;  write(0x53);&#60;br /&#62;
  //write(col);&#60;br /&#62;
  write(highByte(col));&#60;br /&#62;
  write(lowByte(col));&#60;br /&#62;
  //write(row);&#60;br /&#62;
  write(highByte(row));&#60;br /&#62;
  write(lowByte(row));&#60;br /&#62;
  write(font);&#60;br /&#62;
  //write(color &#38;gt;&#38;gt; 8);&#60;br /&#62;
  //write(color &#38;amp; 0xFF);&#60;br /&#62;
  write(highByte(color));&#60;br /&#62;
  write(lowByte(color));&#60;br /&#62;
  write(Width);&#60;br /&#62;
  write(Height);&#60;/p&#62;
&#60;p&#62;  for (int i=0 ; i&#38;lt;strlen(text) ; i++) //&#38;lt;----------------&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#60;br /&#62;
  {&#60;br /&#62;
    write(text[i]);&#60;br /&#62;
  }&#60;br /&#62;
  write(byte(0x00));        // to 'fool' the compiler. (without typecasting the compiler complains about the 0 (zero) as being ambiguous)&#60;br /&#62;
  res=RBack();&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;void uOLED::TextButton (char state, unsigned int x, unsigned int y, unsigned int ButtonColor, char font, unsigned int TextColor, char TextWidth, char TextHeight, char *Text)&#60;br /&#62;
{&#60;br /&#62;
  TextMode(byte(0x00));&#60;/p&#62;
&#60;p&#62;  write(0x62);&#60;br /&#62;
  write(state);&#60;br /&#62;
  //write(x);&#60;br /&#62;
  write(highByte(x));&#60;br /&#62;
  write(lowByte(x));&#60;br /&#62;
  //write(y);&#60;br /&#62;
  write(highByte(y));&#60;br /&#62;
  write(lowByte(y));&#60;br /&#62;
  //write(ButtonColor &#38;gt;&#38;gt; 8);&#60;br /&#62;
  //write(ButtonColor &#38;amp; 0xFF);&#60;br /&#62;
  write(highByte(ButtonColor));&#60;br /&#62;
  write(lowByte(ButtonColor));&#60;br /&#62;
  write(font);&#60;br /&#62;
  //write(TextColor &#38;gt;&#38;gt; 8);&#60;br /&#62;
  //write(TextColor &#38;amp; 0xFF);&#60;br /&#62;
  write(highByte(TextColor));&#60;br /&#62;
  write(lowByte(TextColor));&#60;br /&#62;
  write(TextWidth);&#60;br /&#62;
  write(TextHeight);&#60;/p&#62;
&#60;p&#62;  for (int i=0 ; i&#38;lt;strlen(Text) ; i++) //&#38;lt;-------------------&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#38;lt;&#60;br /&#62;
  {&#60;br /&#62;
    write(Text[i]);&#60;br /&#62;
  }&#60;/p&#62;
&#60;p&#62;  write(byte(0x00));&#60;br /&#62;
  res=RBack();&#60;br /&#62;
}
&#60;/p&#62;</description>
		</item>
		<item>
			<title>leaflabsandy on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-713</link>
			<pubDate>Tue, 10 Aug 2010 14:48:02 +0000</pubDate>
			<dc:creator>leaflabsandy</dc:creator>
			<guid isPermaLink="false">713@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;There was a previous post by me (1 week ago) &#34;Compile Error: Not enough space compilation terminated&#34; I listed the details of this error message. After several more hours of troubleshooting, I came to the conclusion that this was impossible. By observing the windows (XP SP3) task manager there were numerous ARM assembly processes that were reducing my PC memory down to zero. A reboot was all that was necessary to cure this problem. This problem came about after compiling and processing libraries for the Maple for over 4 hours. I find this problem as a minor nuisance compared to the &#34;compiler hangs&#34; and &#34;unknown compiler errors&#34; (above) Like I said before, the compile process for the Maple should be &#34;rock solid&#34;.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>perry on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-711</link>
			<pubDate>Tue, 10 Aug 2010 14:11:27 +0000</pubDate>
			<dc:creator>perry</dc:creator>
			<guid isPermaLink="false">711@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;hi andy,&#60;/p&#62;
&#60;p&#62;Can you attach sketches or code that exhibit these problems so we can track them down? I've never seen an out-of-memory error using the IDE, though I don't use it much. What OS, what version of java are you using, and how much memory has been allocated to the jvm?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>leaflabsandy on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-710</link>
			<pubDate>Tue, 10 Aug 2010 13:16:55 +0000</pubDate>
			<dc:creator>leaflabsandy</dc:creator>
			<guid isPermaLink="false">710@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Thanks for directing me towards Codeblocks but if Leaflabs cannot provide an easy to install &#34;patches&#34; for which to install this &#34;compatible&#34; third party IDE then I will have nothing to do with it. Looks like it would work good for Linux/Unix users but to go through all the trouble for windows it is not worth it.  &#60;/p&#62;
&#60;p&#62;There should be a concerted effort to make sure the compiling process is &#34;rock solid&#34;&#60;br /&#62;
Right now, I detect too many compiling errors, infinite compiler hangs, unknown compiler errors, compiler termination due to &#34;lack of memory&#34; when I use the Maple IDE.&#60;br /&#62;
I know it takes time to resolve these problems but I need to get some productive work done on the Maple instead of fighting compiler errors.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>poslathian on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-708</link>
			<pubDate>Tue, 10 Aug 2010 12:50:09 +0000</pubDate>
			<dc:creator>poslathian</dc:creator>
			<guid isPermaLink="false">708@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;fyi, there is a code blocks IDE for Maple. I think there was a blog post about it. Ill track it down.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>leaflabsandy on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-703</link>
			<pubDate>Mon, 09 Aug 2010 06:41:03 +0000</pubDate>
			<dc:creator>leaflabsandy</dc:creator>
			<guid isPermaLink="false">703@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I like to add that porting libraries to the Maple are nearly impossible if there are compiling errors that are not being picked up. Something has to be done to make sure ALL compiling errors are dumped for the user to fix them!
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Feyr on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-700</link>
			<pubDate>Sun, 08 Aug 2010 15:04:32 +0000</pubDate>
			<dc:creator>Feyr</dc:creator>
			<guid isPermaLink="false">700@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;im sure not the ease of use of the IDE really amount of anything when it's hiding so much of the useful features. sure it might BRING new users but it won't keep them for much more than very simple &#34;sketch&#34;.&#60;/p&#62;
&#60;p&#62;features like as-you-type syntax highlighting, autocompletion, multiple-files support and references to library code as well as compiler errors and integrated debugging are really what defines a good IDE, and i don't think it's worth your time reimplementing them again&#60;/p&#62;
&#60;p&#62;i think a well packaged codeblocks (never used it, but im willing to give it a try) or eclipse (meh) would probably be better than the current IDE, which really is not much more than a glorified notepad with a few extra buttons. &#60;/p&#62;
&#60;p&#62;just the opinion of a vim user of course :) make with it what you wish
&#60;/p&#62;</description>
		</item>
		<item>
			<title>leaflabsandy on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-699</link>
			<pubDate>Sun, 08 Aug 2010 13:40:14 +0000</pubDate>
			<dc:creator>leaflabsandy</dc:creator>
			<guid isPermaLink="false">699@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Both the Arduino's easy to use IDE and the simplified functions/commands made the Arduino what it is today. As for a Maple ARM IDE that is something more robust and easier to fix, if that is what it takes to rid yourself from this legacy &#34;Java build&#34; and to have a &#34;rock solid&#34; error free compile process then by all means just do it. &#38;lt;--- This is only my opinion.&#60;/p&#62;
&#60;p&#62;Other users - please chime in.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>bnewbold on "Compiling Question"</title>
			<link>http://forums.leaflabs.com/topic.php?id=117#post-696</link>
			<pubDate>Sun, 08 Aug 2010 11:39:37 +0000</pubDate>
			<dc:creator>bnewbold</dc:creator>
			<guid isPermaLink="false">696@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;This is a problem with the extremely complicated Java build engine inherited from Arduino, which filters all text coming back from the actual compilation process through hand tweaked filters; right now we need to add a special search term for every compiler error. The correct behavior is obviously to dump all compiler errors and most of the informational output, but we had difficulty getting that to work on recent releases and have pushed it back to an 0.1.0 release.&#60;/p&#62;
&#60;p&#62;Fixing the root problem will involve rewriting the stream processing code in the IDE. These larger, systematic errors really make us want to switch to CodeBlocks or even clone in the entire Arduino IDE in python + wxPython... what do you think? Are the advantages of the IDE in it's actual look-and-feel or are they in the simplified language itself? Should we stick with the classic Java IDE or move to something more robust and easier to fix? We would love to contribute fixes back to the Arduino/Wiring/Processing IDE itself, but many of our problems are specific to swapping out the compiler back-end.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
