空间我有这个Makefile生成文件与源
CC=g++
CFLAGS=-g -c -Wall -o standalone
MYSQLINCLUDE = -I/usr/local/include/mysql
MYSQLINCLUDESP = -I/usr/local/include/
LDFLAGS =-L/usr/local/lib
LDFLAGSSP =-L/usr/local/lib/mysql -lmysqlclient -lmysqlcppconn
SOURCES= /usr/eval/demo 1/user/demo1/p2/main.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=p2
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(LDFLAGSSP) $(OBJECTS) -o [email protected]
.cpp.o:
$(CC) $(MYSQLINCLUDESP) $(CFLAGS) $< -o [email protected]
clean:
rm -rf $(OBJECTS) $(EXECUTABLE) *.core
的问题是此行
SOURCES= /usr/eval/demo 1/user/demo1/p2/main.cpp
与演示和1之间的空间,我得到这个错误
`make: don't know how to make /usr/eval/demo Stop`
这个Makefile是从其他程序自动生成的
一般而言,您不能在make中使用包含空格(或冒号)的文件名。 – MadScientist
是的,它至少接缝非常混乱,也许这个http://stackoverflow.com/questions/668322/what-is-the-most-reliable-way-of-using-gnumake-with-filenames-containing-spaces问题可以帮助 –