Forum: Compiler & IDEs Automatisierte Umschaltung zwischen GCC Versionen


von John S. (student)


Lesenswert?

Hallo zusammmen,

habe folgendes Problem:

Ich habe mir den aktuellen Release Candiate installiert und der Compile 
Lauf zeigte mir Probleme mit math.h ! Nun war ich mir aber nicht sicher, 
ob der Fehler bei mir oder beim neuen RC lag. Wie schalte ich nun mit 
einem "Toggle" auf die alte Compilerversion um ? Gibt es keine Batch 
Datei, die die Registry Einträge (komplett) umbiegt ?

Jedesmal im AvrStudio die Pfade umsetzen ist nicht schön .... ausserdem 
bin ich mir nicht sicher, ob das allein reicht ?

Grüsse

von Alex (Gast)


Lesenswert?

Schau dir mal die PATH Variable an (Windows Umbebungsvariable).

von 900ss (900ss)


Lesenswert?

Ich mach die Installation so:

- Installiere WINAVR_V1 in C:Programme\WINAVR
- Rename Verzeichnis C:Programme\WINAVR nach C:Programme\WINAVR_V1
- Installiere WINAVR_V2 in C:Programme\WINAVR
- Rename Verzeichnis C:Programme\WINAVR nach C:Programme\WINAVR_V2
- Installiere WINAVR_V3 in C:Programme\WINAVR
- Rename Verzeichnis C:Programme\WINAVR nach C:Programme\WINAVR_V3

Wenn ich jetzt eine bestimmte Version brauche, benenne ich
die Verion in C:Programme\WINAVR um. Damit findet AVRStudio
und auch Eclipse die gewünschte Version immer in C:Programme\WINAVR.
Hat bei mir immer geklappt.


900ss

von Stefan B. (stefan) Benutzerseite


Lesenswert?

So ähnlich mache ich es auch. _V1, _V2... sind bei mir die 
Releasetermine.

von Gast (Gast)


Lesenswert?

<<von Peter Dannegger (peda):
<<Ich hab mir extra ein paar Batch-Dateien geschrieben, mit denen ich
<<schnell zwischen den Versionen umschalten kann.

evtl postet er die ja mal^^

von Andreas K. (a-k)


Lesenswert?

http://www.microsoft.com/germany/technet/sysinternals/utilities/Junction.mspx 
runterladen.

Dann:
1
junction d:\programme\winavr d:\programme\winavr.20070525
bzw.
1
junction d:\programme\winavr d:\programme\winavr.20080404

von 900ss (900ss)


Lesenswert?

@Andreas Kaiser

Cooles Tool. Allerdings müßte man, um es einfach anzuwenden, ein Batch 
schreiben zum Umschalten der Versionen.

Dann sehe ich das Plus gegenüber einem Rename der Directories noch 
nicht. Hab ich was übersehen?

900ss

von Andreas K. (a-k)


Lesenswert?

900ss D. wrote:

> Dann sehe ich das Plus gegenüber einem Rename der Directories noch
> nicht. Hab ich was übersehen?

Bei zwei Versionen ist das ungefähr äquivalent. Bei mehr als zwei nicht 
mehr.

von 900ss (900ss)


Lesenswert?

Andreas Kaiser wrote:

> Bei zwei Versionen ist das ungefähr äquivalent. Bei mehr als zwei nicht
> mehr.
Das sehe ich immer noch nicht, ob ich nun Rename aufrufe oder Junction 
ist doch schnurz. Macht aber ja nichts. Vielleicht findest Du das Tool 
einfach eleganter.

von zett (Gast)


Lesenswert?

Schreib mal beide Batch Dateien, dann wirst Du sehen was einfacher ist

von Andreas K. (a-k)


Lesenswert?

900ss D. wrote:

> Das sehe ich immer noch nicht, ob ich nun Rename aufrufe oder Junction
> ist doch schnurz. Macht aber ja nichts. Vielleicht findest Du das Tool
> einfach eleganter.

Wer sonst gern auch in Unix und Linux zuhause ist, dem liegt sowas 
einfach näher.

Für mich liegt der Unterschied der Komplexität der Rename-Sequenz. 
Schreib doch einfach mal ein Commandfile, dass zwischen einer beliebigen 
Anzahl Versionen umschaltet, ohne dass vorher bekannt sein muss, welche 
Version aktiv ist.

von 900ss (900ss)


Lesenswert?

Andreas Kaiser wrote:
> Für mich liegt der Unterschied der Komplexität der Rename-Sequenz.
> Schreib doch einfach mal ein Commandfile, dass zwischen einer beliebigen
> Anzahl Versionen umschaltet, ohne dass vorher bekannt sein muss, welche
> Version aktiv ist.
OK, da stimme ich Dir zu, der Batch wird dann einfacher, wenn ich vorher 
nicht wissen muß, welche Version aktiv ist. Ein Plus hätte das Rename 
doch, es kann mit Windows Hausmittlen erledigt werden. Aber ich will 
jetzt keine Haare spalten.

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Gast wrote:
> <<von Peter Dannegger (peda):
> <<Ich hab mir extra ein paar Batch-Dateien geschrieben, mit denen ich
> <<schnell zwischen den Versionen umschalten kann.
>
> evtl postet er die ja mal^^

Ja.

Die Dateien müssen in das gleiche Verzeichnis, wie die Installationen 
(winavr1..8).
Und dann zum Wechsel einfach ausführen.

Man sieht dann auch schön im Explorer, welche gerade aktiv ist, die 
fehlt dann.


Peter

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

So, ich habs nochmal etwas hübscher gemacht.


Peter

von 900ss (900ss)


Lesenswert?

Käse. Wenn man mit junction (s.o.) zu einer WinAVR Installation verlinkt 
(der Link heißt dann C:\Programme\WinAVR), dann funktioniert bei mir 
MFILE nicht mehr. Wenn ich ein Rename derselben Installation zu 
c:\Programme\WinAVR mache, dann funktioniert es. Hab auch schon mit 
Groß/Kleinschreibung der Verzeichnisse probiert (man wieß ja nie ;-) 
aber es funktioniert nicht.
Kann das jemand bestätigen?
Danke.
900ss

von Andreas K. (a-k)


Lesenswert?


von 900ss (900ss)


Lesenswert?

Danke für den Hinweis. Was ich nicht verstehe, da steht als letztes 
Posting, dass es einen Fix gibt im CVS. Hinweis ist von April 2003 und 
jetzt ist der Fehler immer noch da??

von Andreas K. (a-k)


Lesenswert?

900ss D. wrote:

> Danke für den Hinweis. Was ich nicht verstehe, da steht als letztes
> Posting, da ist ein Fix im CVS. Hinweis ist von April 2003 und jetzt ist
> der Fehler immer noch da??

Ich hab es nicht allzu genau gelesen, meine aber darin einen Konflikt 
zwischen den beiden Funktionen der reparse points gelesen zu haben, 
mount und symlink. Vielleicht funktioniert es mit dem Fix nur mehr 
andersrum.

von Peter D. (peda)


Lesenswert?

Andreas Kaiser wrote:

> Für mich liegt der Unterschied der Komplexität der Rename-Sequenz.
> Schreib doch einfach mal ein Commandfile, dass zwischen einer beliebigen
> Anzahl Versionen umschaltet, ohne dass vorher bekannt sein muss, welche
> Version aktiv ist.

So komplex ist das garnicht, geht ganz einfach mit ner for-Schleife 
(siehe mein 2. Anhang).

9 Versionen sollten meistens ausreichen, man kann in die for-Liste aber 
auch mehr eintragen.
Irgendwo wirds aber ein Limit für die Zeilenlänge in ner Batch geben.

Man kann die einzelnen Batches auch 20080411.bat usw. nennen.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.