2016-05-13 1 views
-1

Ich habe OSX 10.11.4, Xcode 7.3.1. Mit make -- Anrufe gcc -- Anrufe clang, bekomme ich diesen Fehler, wo Clang nach einer Datei sucht, deren Name ein Leerzeichen ist!make/gcc/clang sucht nach Datei mit einem leeren Dateinamen, gibt Fehler

Make error 1: clang: error: no such file or directory: ' '. 

, dass ein Raum ist!

Ich habe keine Ahnung, wie das zu beheben ist. Die Makefile-Formatierung ist korrekt. Hier ist das Ende der Ausgabe von make:

gcc -g -v -Wall -I/usr/local/include -I/opt/local/include -I/Users/m/BioPrep \ 
     -o mod \ 
     ../mshell/runit0.o \ 
     ../mshell/tline.o \ 
     ../mshell/getshm.o \ 
     ../mshell/callLSODA.o \ 
     ../mshell/extras.o \ 
     ../mshell/nrutil.o \ 
     ../mshell/exten.o \ 
     ../choosedisp/choosedisp_main.o \ 
     ../choosedisp/choosedisp_cb.o \ 
     ../choosedisp/choosedisp_fm.o \ 
     ../connectdisps/connectdisps.o \ 
     ../connectdisps/opwsock.o \ 
Apple LLVM version 7.3.0 (clang-703.0.31) 
Target: x86_64-apple-darwin15.4.0 
Thread model: posix 
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 

clang: error: no such file or directory: ' ' 

make: *** [mod] Error 1 

======================= Hier ist der Inhalt des Makefile:

# This is Makefile with all graphics code removed so that a compilation of mod can proceed 
# "MakefileA" has the graphics files present but commented (#) out 
CC = gcc 
CFLAGS = -g -v -Wall 
INCL = -I/usr/local/include -I/opt/local/include -I/Users/prowat/BioPrep 
LIBS = -L/usr/local/lib -L/opt/local/lib -lX11 -lforms 


mod: model.o \ 
    ../mshell/runit0.o \ 
    ../mshell/tline.o \ 
    ../mshell/getshm.o \ 
    ../mshell/callLSODA.o \ 
    ../mshell/extras.o \ 
    ../mshell/nrutil.o \ 
    ../mshell/exten.o \ 
    ../choosedisp/choosedisp_main.o \ 
    ../choosedisp/choosedisp_cb.o \ 
    ../choosedisp/choosedisp_fm.o \ 
    ../connectdisps/connectdisps.o \ 
    ../connectdisps/opwsock.o \ 
    ../lsoda/liblsoda.a` 
     cd ../mshell; make objs` 
     cd ../choosedisp; make objs` 
     cd ../connectdisps; make objs` 
     $(CC) $(CFLAGS) $(INCL) \ 
      -o mod \ 
      ../mshell/runit0.o \ 
      ../mshell/tline.o \ 
      ../mshell/getshm.o \ 
      ../mshell/callLSODA.o \ 
      ../mshell/extras.o \ 
      ../mshell/nrutil.o \ 
      ../mshell/exten.o \ 
      ../choosedisp/choosedisp_main.o \ 
      ../choosedisp/choosedisp_cb.o \ 
      ../choosedisp/choosedisp_fm.o \ 
      ../connectdisps/connectdisps.o \ 
      ../connectdisps/opwsock.o \ 
      model.o \ 
      -L../lsoda -llsoda \ 
      $(LIBS) \ 
      -lm 

=====================

+1

"Die Makefile-Formatierung ist korrekt" - und doch funktioniert es nicht. Bitte geben Sie Ihr Makefile an, wenn Sie Hilfe benötigen. –

+1

Sie haben nach dem Backslash am Ende einer Ihrer Zeilen ein zusätzliches Leerzeichen. Nach dem umgekehrten Schrägstrich darf kein Leerzeichen stehen: Der Zeilenumbruch muss unmittelbar nach dem umgekehrten Schrägstrich kommen. – MadScientist

+0

Ich habe nach diesen Leerzeichen und nach den Tabs gesucht. –

Antwort

3

Bitte die richtige Formatierung verwenden: für Codeblöcke Spiegelstrich von 4 Leerzeichen. Die Backticks werden nur für Schriften mit fester Breite im normalen Text verwendet.

Sie haben vielleicht nach Leerzeichen gesucht, aber Sie müssen erneut suchen. Basierend auf dem Ausgang machen hat man im Vergleich zu Ihrer Make-Datei gezeigt, es ist ziemlich klar, dass es zumindest einen Raum nach dem umgekehrten Schrägstrich am Ende dieser Linie ist:

 ../connectdisps/opwsock.o \ 

du denn sagen, wenn es keine Räume waren nach diese Backslash dann wäre es in der nächsten Zeile fortgesetzt und whould den Rest der Kompilierung Linie anzeigt:

 model.o \ 
     -L../lsoda -llsoda \ 
     $(LIBS) \ 
     -lm 

Da diese Zeilen fehlen von dem Ausgang zu machen, vorausgesetzt, können Sie sicher sein, dass etwas über die opwsock.o es Zeile, die verhindert, dass make den Backslash/Newline am Ende erkennt.

Verwandte Themen