0

私はこの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 $@
.cpp.o:
    $(CC) $(MYSQLINCLUDESP) $(CFLAGS) $< -o $@
clean:
    rm -rf $(OBJECTS) $(EXECUTABLE) *.core

問題はこの行にあります

SOURCES= /usr/eval/demo 1/user/demo1/p2/main.cpp 

demo と 1 の間にスペースがあると、このエラーが発生します

`make: don't know how to make /usr/eval/demo Stop`

この Makefile は他のプログラムから自動生成されます

4

2 に答える 2

0

脱出してみてください:

SOURCES=/usr/eval/demo\ 1/user/demo1/p2/main.cpp

または引用符を使用します。

SOURCES="/usr/eval/demo 1/user/demo1/p2/main.cpp"
于 2012-05-27T21:04:40.293 に答える