Forum: Mikrocontroller und Digitale Elektronik von C30 Compiler auf XC16: "No rule to make target"


von Manuel B. (desteini)


Lesenswert?

Hallo Leute,

Ich versuche gerade den Beispiel-Code von der Microchip Seite "CE428 CAN 
FIFO" für den PIC24EP512GP806 zum laufen zu bekommen.

Der Beispiel-Code wurde offensichtlich mit dem C30 Compiler entwickelt, 
der jedoch schon veraltet ist und ich denke für meinen PIC wäre der XC16 
um einiges besser.

Das Problem ist, mit dem C30 Compiler bekomm ich den Code nach ein paar 
kleinen Anpassungen kompiliert, mit dem XC16 bekomm ich mit dem selben 
Code (aber mit #include "xc.h") folgenden Fehler:

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
make  -f nbproject/Makefile-default.mk 
dist/default/production/XC16ECAN.X.production.hex
make[2]: *** No rule to make target 
`build/default/production/ECAN1Config.o', needed by 
`dist/default/production/XC16ECAN.X.production.hex'.  Stop.
make[2]: Entering directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
make[1]: *** [.build-conf] Error 2
make[2]: Leaving directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
make: *** [.build-impl] Error 2
make[1]: Leaving directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'

BUILD FAILED (exit value 2, total time: 102ms)


Mir scheint es dass er die Datei nicht findet?

Folgendes hab ich schon probiert:
- Clear all and build.
- Beispiel Projekt als komplettes Projekt importiert UND neues Projekt 
erstellt und einzelne Dateien als "add items" hinzugefügt
- header files removed und wieder als "headerFiles" eingebunden

alles erfolglos bisher, hat jemand Tipps was mich weiterbringen könnte?

Vielen Dank für die Hilfe

Manu

von Jasch (Gast)


Lesenswert?

Manuel Bali schrieb:
> Hallo Leute,
>
> Ich versuche gerade den Beispiel-Code von der Microchip Seite "CE428 CAN
> FIFO" für den PIC24EP512GP806 zum laufen zu bekommen.
>
> Der Beispiel-Code wurde offensichtlich mit dem C30 Compiler entwickelt,
> der jedoch schon veraltet ist und ich denke für meinen PIC wäre der XC16
> um einiges besser.
>
> Das Problem ist, mit dem C30 Compiler bekomm ich den Code nach ein paar
> kleinen Anpassungen kompiliert, mit dem XC16 bekomm ich mit dem selben
> Code (aber mit #include "xc.h") folgenden Fehler:
>
> make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
> make[1]: Entering directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
> make  -f nbproject/Makefile-default.mk
> dist/default/production/XC16ECAN.X.production.hex
> make[2]: *** No rule to make target
> `build/default/production/ECAN1Config.o', needed by
> `dist/default/production/XC16ECAN.X.production.hex'.  Stop.
> make[2]: Entering directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
> make[1]: *** [.build-conf] Error 2
> make[2]: Leaving directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
> make: *** [.build-impl] Error 2
> make[1]: Leaving directory `C:/Users/User/MPLABXProjects/XC16ECAN.X'
>
> BUILD FAILED (exit value 2, total time: 102ms)

Wenn Du die Fehlermeldungen mal liest, wirst Du feststellen, dass die 
mit dem Compiler nix zu tun haben - die kommen von "make".

Und sie meinen genau was da steht: make kann keinen Weg finden um eine 
benötigte Datei "build/default/production/ECAN1Config.o" zu erzeugen, 
vermutlich aus einer Datei die nicht genau "ECAN1Config.c" heisst.

Also hast Du es entweder falsch aufgerufen oder das/die Makefile(s) 
ist/sind irgendwie kaputt/nicht korrekt. Das kann man nicht 
ferndiagnostizieren, dazu musst Du halt nachschauen was da so drinsteht.

von Manuel B. (desteini)


Lesenswert?

Ja war mir schon klar, dass die vom Make kommen. Jedoch ist es doch 
komisch, dass der eine Compiler mit dem selben Code keine Probleme hat, 
und der neuere schon? Deshalb muss es wohl doch auch mit dem Compiler 
zusammen hängen.

Wie auch immer, letztendlich hab ich es gelöst, in dem ich nicht die 
Dateien hinzugefügt habe, sondern in einem neuen Projekt, neue Files 
erstellt habe und einfach den Code kopiert habe.

Weiß zwar immernoch nich genau, was für ein Problem der XC16 mit dem 
Code hatte, jedoch ist es damit gelöst =)

von Jasch (Gast)


Lesenswert?

Manuel Bali schrieb:
> Ja war mir schon klar, dass die vom Make kommen. Jedoch ist es doch
> komisch, dass der eine Compiler mit dem selben Code keine Probleme hat,
> und der neuere schon? Deshalb muss es wohl doch auch mit dem Compiler
> zusammen hängen.

Nein.

Die Fehlermeldungen kamen von Make. Der Compiler wurde nichtmal 
aufgerufen, Make wusste ja garnicht was es eigentlich aufrufen sollte.

Ich gehe mal davon aus das funktioniert alles mit einer Art IDE? Wenn ja 
- da hast Du schon Dein Problem, IDEs sind sehr gut beim Verstecken der 
wirklichen Abläufe/Zusammenhänge...

von Manuel B. (desteini)


Lesenswert?

Alles klar, dann lags wohl daran. Ja ich benutze MPLab X ...

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.