FEHLER: make: *** No rule to make target `main.c', needed by `main.o'. Stoppen
CC= gcc CFLAGS= -D__XMLSEC_FUNKTION__=__FUNKTION__ -DXMLSEC_NO_XSLT=1 \ -DXMLSEC_NO_XKMS=1 -I/usr/include/libxml2 -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 \ -DXMLSEC_CRYPTO=\"openssl\" -DUNIX_SOCKETS -DXML_SECURITY -DDEBUG \ -I/usr/local/include/xmlsec1 -lxmlsec1 LDFLAGS= -lcrypto -I/usr/include/libxml2 -I/usr/local/include/xmlsec1 \ -lxmlsec1 -lprotobuf-c Standard: shr #pb steht für protobuf-Datei shr: main.o Datei2.o datei3.pb-c.o $(CC) $(CFLAGS) -o shr main.o Datei2.o datei3.pb-c.o main.o: main.c-header.hfile2.h datei3.h $(CC) $(CFLAGS) -c main.c Datei2.o: file2.c Datei2.h $(CC) $(CFLAGS) -c axisuid_auth.c datei3.pb-c.a: datei3.pb-c.c datei3.h $(CC) $(CFLAGS) -c datei3.c sauber: $(RM) shr *.o *~
- Sie haben keine Datei namens
main.c
im Verzeichnis, in der Sie arbeiten. - alle .c & .h-Dateien im src-Ordner.
make
nichts falsch. Wenn es sich über eine fehlende Datei, dann es gibt eine Datei fehlt.- Verwenden
remake -x
zu DebuggenMakefile
. Ich vermute, Sie sind nicht ausgeführtmake
imsrc
- Verzeichnis. Oder erwähnensrc/main.c
etc... (mit dersrc/
Verzeichnis explizit angegeben wird) in derMakefile
- s/es ist eine Datei fehlt/gibt es nicht eine Datei, wo Sie gesagt
make
es ist/ - Überprüfen Sie, dass Sie mit TABS richtig, anstatt Leerzeichen.
- Auch, hinzufügen
-Wall
zu IhremCFLAGS
. Fragen Sie alle Warnungen, um dem compiler ist immer hilfreich. - Dies ist ein dumm agressive Verwendung von downvoting gegen einen neuen Benutzer. Offensichtlich gibt es ein
main.c
und es nicht abgeholt wird, warum auch immer. Nicht nur werfen Sie die Fehlermeldung zurück an den Kerl. - nach dem Debuggen mit remake : default Datei nicht vorhanden ist
- nehmen Sie sich die Zeit und Lesen Sie wieder die GNU-make-Dokumentation gnu.org/software/make/manual/html_node/index.html ; es ist etwas grundlegendes über
make
dass Sie nicht verstehen, folglich sind Sie nicht genügend relevante Informationen (was es deinen source-tree Struktur? aus welchem Verzeichnis sind Siemake
, etc...) für uns, Ihnen zu helfen. - Ich Neige dazu, nicht einverstanden mit Ihrer Meinung gegen down-voting. Die Frage ist wirklich schlecht formuliert, und don ' T geben genügend Hinweise für alle
make
Experte zu beantworten. (Dies ist der Grund, warum ich downvoted die Frage, aber ich wollte versuchen, zu helfen thru Kommentare).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Sie sagte, alle .c und .h-Dateien sind in src-Ordner. So in diesem Fall in Ihrem Makefile sollten Sie als src/main.c
Makefile
sollte explizit erwähntsrc/*.c
src/*.h
- Datei. Alternativ, erwägen Sie, dieMakefile
insrc/
und läuftmake
von innensrc/
- Verzeichnis.