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
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.