<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>heinitz-it &#187; VisualStudio</title>
	<atom:link href="http://heinitz-it.de/archives/tag/visualstudio/feed" rel="self" type="application/rss+xml" />
	<link>http://heinitz-it.de</link>
	<description>Dipl. Ing. (FH), MBA Valentin Heinitz - freiberuflicher Softwareentwickler</description>
	<lastBuildDate>Tue, 29 Nov 2011 15:30:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fehlermeldungen von GCC in Visual Studio ausgeben</title>
		<link>http://heinitz-it.de/archives/71</link>
		<comments>http://heinitz-it.de/archives/71#comments</comments>
		<pubDate>Tue, 11 May 2010 14:52:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Artikel]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[VisualStudio]]></category>

		<guid isPermaLink="false">http://heinitz-it.de/?p=71</guid>
		<description><![CDATA[In vielen C/C++ Embedded-Projekten an denen ich mitgearbeitet habe, wurde als Compiler eine Variante von GCC genommen. Als Entwicklungsumgebung hat allerdings MS Visual Studio gedient. Für Visual Studio als IDE spricht vieles. MSVS ist schnell, bietet sehr gute Navigationsmöglichkeiten und löst die Symbole recht zuverlässig auch bei nicht kompilierbarem Code und losen Source-Dateien auf. (Leider [...]]]></description>
			<content:encoded><![CDATA[<p>In vielen C/C++ Embedded-Projekten an denen ich mitgearbeitet habe, wurde als Compiler eine Variante von GCC genommen. Als Entwicklungsumgebung hat allerdings MS Visual Studio gedient. Für Visual Studio als IDE spricht vieles. MSVS ist schnell, bietet sehr gute Navigationsmöglichkeiten und löst die Symbole recht zuverlässig auch bei nicht kompilierbarem Code und losen Source-Dateien auf. (Leider kann ihmo Eclipse/CDT mit MSVS nicht mithalten und kommt z.B. bei (nicht trivialen) Templates mit der Symbolauflösung schnell durcheinander.)</p>
<p>In der Regel wurde der Buildvorgang mit einem Batch-Skript gestartet und die Buildergebnisse wie Fehler, Warnungen, etc. in eine Log-Datei umgeleitet.<br />
Um eventuelle Fehler zu beseitigen, musste man mühselig nach dem Dateinamen und der Zeilennummer in der Log-Datei suchen und zu der Stelle in Visual Studio manuell gehen.<br />
Da die Fehlerformate von GNU und MSVS unterschiedlich sind, kann Visual Studio mit den GCC Fehlermeldungen nichts anfangen.</p>
<p>Dabei kann ein sehr einfacher Konverter die Arbeit erleichtern, so dass man mit dem Doppelklick auf die Fehlermeldung sofort zur richtigen Stelle gelangt.<br />
Der Fehlerformat von GNU ist:<br />
<code>GCC format:    source.cpp:123: error: a gcc error message</code><br />
Der Fehlerformat von MSVS ist:<br />
<code>MSVC++ format: source.cpp(123) : error: a MSVS error message</code><br />
Der Konverter ist ein Einzeiler:<br />
<code>grep ": error:\|: warning:" "%1" | sed "s/:\([0-9]\+\): \(error\|warning\):/(\1) : \2: /"</code><br />
Es werden UNIX-Tools grep und sed benutzt. Sie dürften auf keinem Entwicklerrechner fehlen, auch unter Windows: <a href="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</a>.<br />
Der Skript sollte als eine Batch-Datei implementiert werden (einfach die Zeile in z.B. gcc2msvs.bat kopieren), und mit der Fehlerlogdatei als Parameter aufgerufen werden.</p>
<p>Zum Einbinden in Visual Studio benutze ich immer folgendes:<br />
In MSVS Menu anklicken &#8220;Tools->External Tools&#8221;, &#8220;Add&#8221; und folgende Felder ausfüllen:<br />
<em>Title</em>: 	BugFixing<br />
<em>Command</em>:   Path/gcc2msvs.bat<br />
<em>Arguments</em>:	&#8220;Path/GccBuildLogOutput&#8221;<br />
<em>Use Output window</em>: YES</p>
<p>Jetzt kann man sich die Fehlermeldungen vom letzten Build mit &#8220;Tools->BugFixing&#8221; anzeigen lassen. Das Gute daran ist, es funktioniert mit jeder MSVS Instanz, es bedarf keines gültigen Projektes oder Pfadeinstellungen.</p>
<p>Viel Spaß damit und viel Erfolg in Euren Projekten.<br />
Valentin Heinitz</p>
]]></content:encoded>
			<wfw:commentRss>http://heinitz-it.de/archives/71/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

