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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
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 ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.