Forum: PC-Programmierung Eclipse: Zwangsweise kompilieren


von ecli (Gast)


Lesenswert?

Hallo,

ich benutze seit einiger Zeit Eclipse zum Compilieren. Alles geht 
soweit.

Allerdings habe ich bis jetzt noch nicht herausgefunden, wie man ein
bereits compiliertes Projekt zwangsweise nochmals neu compilieren kann.

Derzeit muss ich jeden Quelltext kurz "anfassen" (heißt z.B. Leerzeichen
einbauen, Leerzeichen löschen, wieder abspeichern). Das ist besonders
lästig, wenn man eine Configurationsdatei hat, in der man z.B. nur ein
#def ändert.

Kann mir da bitte jemand helfen ?


Danke.

von hp-freund (Gast)


Lesenswert?

Moin,

Project -> Clean oder Alt+p+n danach Enter.

Wenn Du den Haken setzt wird gleich neu gebaut.

von ecli (Gast)


Lesenswert?

Danke,

aber das klappt nicht, zumindest bei mir. Das hatte ich schon probiert.
Es kommt auch dann :  Nothing to be done for `all'.

von hp-freund (Gast)


Lesenswert?

Dann stimmt etwas nicht.
Project -> clean
funktioniert aber, oder?

von ecli (Gast)


Lesenswert?

Nein,

es ist immer "Nothing to be done for `all' "

von Johannes S. (Gast)


Lesenswert?

Arbeitet das Projekt mit einem makefile?

von hp-freund (Gast)


Lesenswert?

ecli schrieb:
> ich benutze seit einiger Zeit Eclipse zum Compilieren. Alles geht
> soweit.

Das passt dann aber nicht.
Lässt Du das Makefile erstellen, oder hast Du ein eigenes?

von ecli (Gast)


Lesenswert?

hp-freund schrieb:
> Lässt Du das Makefile erstellen, oder hast Du ein eigenes?

Automatisch , Makefiles sind für mich "Böhmische Dörfer"!

Danke für deine Hilfe und Geduld.

von hp-freund (Gast)


Lesenswert?

Was steht da wenn Du Project -> Clean ausführst ohne den Haken bei
"Start a build immediately" zu setzen?

von ecli (Gast)


Lesenswert?

Wenn der Haken weg ist, tritt in der Tat ein Fehler auf.
Hatte ich bisher nicht gesehen.

rm -rf  .......   (ich kürze hier ab)
..... mingw32-make: [clean] Error 1 (ignored)
' '

Was kann man tun bitte ?

von hp-freund (Gast)


Lesenswert?

Abgekürzt bringt das nichts, zeig mal alles.

von hp-freund (Gast)


Lesenswert?

Am besten als Text Datei hier anhängen.

von ecli (Gast)


Lesenswert?

rm -rf  ./CommonCode/LCDNHDC0220.o ./CommonCode/RTC-pcf8563.o 
./CommonCode/flash.o ./CommonCode/i2c.o ./CommonCode/key.o 
./CommonCode/timesaving.o ./CommonCode/zwir-uart.o  ./ha430-dr.o 
libUSER_OBJS.a  ha430-dr.elf
mingw32-make: [clean] Error 1 (ignored)
' '

von hp-freund (Gast)


Lesenswert?

Das könnte bedeuten das die Dateien schon gelöscht sind bzw. nicht oder 
wo anders gebaut wurden.

Was zeigt jetzt ein "Build all"?

von ecli (Gast)


Lesenswert?

Was vergessen, komplett nochmals:

C:\SW\HA430-DR\Debug>set 
dirname=C:\MSP430GCC\msp430-toolchain-win-x86-3.0\bin\rm -rf 
./CommonCode/LCDNHDC0220.o ./CommonCode/RTC-pcf8563.o
./CommonCode/flash.o ./CommonCode/i2c.o ./CommonCode/key.o
./CommonCode/timesaving.o ./CommonCode/zwir-uart.o  ./ha430-dr.o
libUSER_OBJS.a  ha430-dr.elf
mingw32-make: [clean] Error 1 (ignored)
' '

von ecli (Gast)


Lesenswert?

hp-freund schrieb:
> Was zeigt jetzt ein "Build all"?

"Nothing to be done for `all' "

von hp-freund (Gast)


Lesenswert?

Ich nutze Linux.
Es wäre vielleicht gut wenn Du ein Minimal Projekt anlegst und sich das 
jemand in der Windows Umgebung ansieht.

Willst Du ausser MSP430 auch noch anderes Programmieren?
Wenn nur für MSP430, ist vielleicht das CCS eine gute Wahl.

von ecli (Gast)


Lesenswert?

Danke nochmal für den Versuch zu Helfen.

Ich benutze nicht nur den MSP430, sondern auch noch ARM Derivate. Es
ist alles soweit in Eclipe eingespielt und ich will deshalb  auch
nichts ändern. Dann muss ich halt einfach weiter mit dem Problemchen
leben. Bis hat es ja uch ganz gut geklappt, man wird nur immer
fauler.

Danke .

von Johannes S. (Gast)


Lesenswert?

ecli schrieb:
> Was vergessen, komplett nochmals:

ist das wirklich der komplette unveränderte output?
Das sieht aus wie zwei Befehle die zusammengepappt sind, evtl. weil 
'dirname' nicht konfiguriert ist? Ich weiss allerdings nicht woher der 
kommen soll oder wofür der ist.


> C:\SW\HA430-DR\Debug>set dirname=

Das wäre ein Befehl um die environment variable dirname zu löschen

> C:\MSP430GCC\msp430-toolchain-win-x86-3.0\bin\rm -rf

Und dahinter ist das remove, also löschen der alten objectfiles und des 
fertigen binaries. Das schlägt fehl, die Dateien bleiben und make -all 
hat nix zu tun. Also müsste das ein Fehler im Plugin für das makefile 
erzeugen sein oder es stolpert über einen vielleicht fehlenden 'dirname' 
(Projektpfad?).

von Jim M. (turboj)


Lesenswert?

ecli schrieb:
> rm -rf

Das Kommando rm gibts unter Windoof nicht, außer man hat mingw32 
installiert.

Abhilfe: In den Projektoptionen den Builder auf "internal" stellen. Dann 
meckert er immer noch über "rm" beim clean, aber danach baut er alles 
neu.

von Johannes S. (Gast)


Lesenswert?

das mingw wird ecli für seine Toolchain schon drauf haben:
>mingw32-make: [clean] Error 1 (ignored)

diesen Fehler findet Tante Google recht häufig, nur die Ursache kann 
alles mögliche sein. Sogar Virenschutz der neue Scripte in einer 
'Sandbox' mit eingeschränkten Rechten laufen lässt.

von format (Gast)


Lesenswert?

ecli schrieb:
> C:\SW\HA430-DR\Debug>set
> dirname=C:\MSP430GCC\msp430-toolchain-win-x86-3.0\bin\rm -rf

Für mich sieht das so aus, als stünde das "rm -rf" am Ende noch auf der 
gleichen Zeile wie das "set". Das würde so nicht wirklich funktionieren.

Das kann allerdings auch an der Formatierung hier im Forum liegen,
da die Ausgabe nicht in einen CODE-Block eingeschlossen wurde. In der 
Form ist es leider ziemlich mühsam, dir irgendwelche Hilfe zu geben.
Du müsstest schon darauf achten, dass deine Fehlermeldung 100%ig exakt 
wiedergegeben wird, sonst kommen wir hier nicht weiter.

von Rolf M. (rmagnus)


Lesenswert?

format schrieb:
> Du müsstest schon darauf achten, dass deine Fehlermeldung 100%ig exakt
> wiedergegeben wird, sonst kommen wir hier nicht weiter.

Ja, und deshalb:

hp-freund schrieb:
> Am besten als Text Datei hier anhängen.

von I <3 Makefiles! (Gast)


Lesenswert?

> Automatisch , Makefiles sind für mich "Böhmische Dörfer"!

Aber auch Eclipse, sonst hättest die Frage hier nicht gestellt.

von ecli (Gast)


Lesenswert?

I <3 Makefiles! schrieb:
> Aber auch Eclipse, sonst hättest die Frage hier nicht gestellt.
Auf diese mit größtem Abstand idiotischte Antwort gehe ich nicht ein.

---

Die Fehlermeldung ist komplett, nur der Zeilenumbruch stimmt nicht.
Das ist auch nicht ein Auszug aus dem Makefile, sondern steht so
in der CDT Build Console nach dem Clean Versuch.

Inzwischen weiss ich wie man den von Eclipse gemanagten RM Macro
ersetzen kann. Ich habe aber bis jetzt noch nicht alle möglichen
Options ( z.B. rm -rf etc.) von mingw32-Make dazu gefunden.

von ecli (Gast)


Lesenswert?

Keine weitere Aktion hier mehr nötig!

Inzwischen habe ich eine Info gefunden aus der hervorgeht, dass die
Ursache des Problem in der localen Konstellation der verwendeten Tools
liegt und nicht behoben werden kann.

Als unconventionellen Workaraound habe ich mir ein Batchfile erstellt,
das im Prinzip das gleiche macht wie der Abschnitt CLEAN im Make.
Alle Objectsfiles und das Elf File werden "off line" gelöscht. Das kann
man sogar aus Eclipse heraus ausführen. Das reicht mir.

Danke für alle ernsthaften Versuche um zu helfen.

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.