www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Linker im Makefile


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe folgendes Problem:
Der Linker "mplink" aus einem Makefile aufgerufen funktioniert nicht, 
kopiere ich die gleiche Zeile (der Ausgabe) in die Kommandozeile, geht 
es!! Pfad ist in beiden Fällen gleich, oder sollte gleich sein.

Was mich stutzig macht ist das "unrecognized input: C:/msys/w", Mplink 
hält wohl das /w (Option) für einen Pfad.

Geht weder mit MinGW-make noch Msys-make

Ausgabe make: GEHT NICHT
-------------
**** Build of configuration Default for project PICUSBIO ****

mingw32-make all
mplink /l"C:\mcc18\lib" "C:\mcc18\lkr\18f4455.lkr" user.o cdc.o main.o 
usb9.o usbctrltrf.o usbdrv.o usbdsc.o usbmmap.o 
/m"E:\Meurer\Develop\PIC\PICUSBIO\output\PICUSBIO.map" /w 
/o"PICUSBIO.cof"
MPLINK 4.11, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - unrecognized input: C:/msys/w
Errors    : 1

mingw32-make: *** [picusbio.hex] Error 1

Makefile-Auszug:
---------------
mplink /l"C:\mcc18\lib" "C:\mcc18\lkr\18f4455.lkr" $^ 
/m"$(OUTDIR)\PICUSBIO.map" /w /o"PICUSBIO.cof"

Kommandozeile: GEHT
--------------
E:\Meurer\Develop\PIC\PICUSBIO>mplink /l"C:\mcc18\lib" 
"C:\mcc18\lkr\18f4455.lkr
" user.o cdc.o main.o usb9.o usbctrltrf.o usbdrv.o usbdsc.o usbmmap.o 
/m"E:\Meur
er\Develop\PIC\PICUSBIO\output\PICUSBIO.map" /w /o"PICUSBIO.cof"
MPLINK 4.11, Linker
Copyright (c) 2007 Microchip Technology Inc.
Errors    : 0

MP2HEX 4.11, COFF to HEX File Converter
Copyright (c) 2007 Microchip Technology Inc.
Errors    : 0


Grüße,

Chris

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zusatz:
Habe noch vergessen die Rahmenbedingungen zu erwähnen:
Es geht um einen PIC mit C18 auf einem Windows-PC. MSYS und MAKE (von 
MinGW) sind installiert. MPLAB ist installiert, hier geht der Build ohne 
Probleme, schreibe aber gerade ein Makefile um Eclipse als IDE zu 
verwenden.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus dem make oder Eclipse heraus ist anscheinend die Kommandozeile beim 
Aufruf des mplink zu lang und wird abgeschnitten.

Ich vermute C:/msys/w ist eine Kombination von Defaultpath und 
Kommandozeilenparameter /w.

Um diese Hypothese zu prüfen: Statt mplink mal ein Batchfile oder ein 
selbstgeschriebenes Programm einsetzen und die übergebene Kommandozeile 
anzeigen lassen.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
vielen Dank für den Tipp, Stefan. Es lag zwar nicht direkt an der Länge 
der Kommandozeile, ABER an den Anführungszeichen!!!
Hab' mir die Zeile mit @echo anzeigen lassen und siehe: alle 
Anführungszeichen waren verschwunden.

So geht's, und dann linkt er auch:
mplink /l\"C:\mcc18\lib\" \"C:\mcc18\lkr\18f4455.lkr\" $^ 
/m\"PICUSBIO.map\" /w /o\"PICUSBIO.cof\"

statt:
mplink /l"C:\mcc18\lib" "C:\mcc18\lkr\18f4455.lkr" $^ /m"PICUSBIO.map" 
/w /o"PICUSBIO.cof"

very spooky!!!

Vielen Dank, Du hast mich auf die richtige Fährte gebracht.

Grüße,

CHris.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.