2017-09-27 290 views
0

我的教授分配了一個編程任務並給了我們Makefile來構建它。問題是,當我建立它,它diplays此消息爲什麼我的Makefile沒有創建我的.o文件C++

g++: error: SortedListArrayDriver.o: No such file or directory 
Makefile:22: recipe for target 'SA' failed 
mingw32-make: *** [SA] Error 1 

這裏是他爲我們提供了

AutomatedMakefile = am 
CC = g++ 
CXXFLAGS = -Wno-deprecated-declarations -g -O0 

PROJECT_PATH = $(CURRENT_DIR) 
GUI_PATH = $(DRIVE_LETTER)/TDM-GCC-64/wxWidgets-3.1.0 

INC_DIRS = -I./1310/CSC1310 -I./1310/GUI -I$(GUI_PATH)/include - 
I$(GUI_PATH)/lib/gcc510TDM_x64_dll/mswu 
LIB_DIRS = -L./1310/CSC1310 -L./1310/GUI -L$(GUI_PATH)/lib/gcc510TDM_x64_dll 
LDFLAGS = -Wl,-Bstatic 
LIBS = $(LDFLAGS) -lCSC1310 -lrandom -lGUI -lwxmsw31u_core -lwxbase31u - 
lgdi32 

COMPILE = $(CC) $(CXXFLAGS) $(INC_DIRS) -c 
LINK = $(CC) $(CXXFLAGS) $(LIB_DIRS) 

FILES1 =SortedListArrayDriver.o 
EXECUTABLE1 = SLADriver.exe 

all: SA 

SA: $(FILES) 
$(LINK) $(FILES1) $(LIBS) -o $(EXECUTABLE1) 

SortedListArrayDriver.o: SortedListArray.h 
    $(COMPILE) SortedListArrayDriver.cpp 

我真的不知道我在做什麼錯了,任何makefile文件幫助,將不勝感激

+2

閱讀[GNU make](https://www.gnu.org/software/make/)的文檔。選項卡在'Makefile'中很重要。運行'make --trace'。使用[remake](http://bashdb.sourceforge.net/remake/)。考慮在你的計算機上安裝Linux發行版(它對開發人員和學生更友好)。您的* fix-my-'Makefile'-code *請求在StackOverflow上偏離主題。你的問題應該有一些[MCVE](https://stackoverflow.com/help/mcve),你應該編輯它來改進它 –

+0

如果你修改了它,把它恢復原樣。那是他的錯。如果你有一個名爲'SortedListArray.cpp'的文件,它應該可以工作。然而,makefile中不包含'SortedListArray.cpp'作爲'SortedListArray.o'的依賴。 – EJP

+0

@BasileStarynkevitch makefile *是* MCVE。 – EJP

回答

1

這個makefile中有許多錯誤。向你的教授抱怨。讓他看看這個頁面。

相關問題