2013-10-08 80 views
1

所以我遇到了使用mingw的mingw32-make的makefile的奇怪問題。我已經搜遍了,而且我很無能。看起來這是在化妝沒有尋找到正確的文件夾的路徑問題,但我可能是錯的..C++ Makefile找不到文件

我已經配置它通過nppexec運行,所以我用這個宏

mingw32-make.exe -f "$(CURRENT_DIRECTORY)\$(NAME_PART)$(EXT_PART)" 

這給..

mingw32-make.exe: *** No rule to make target 'main.cpp', needed by 'main.o'. Stop. 

makefile.mak(我知道這需要這麼想的擴展)

CPP = g++.exe 
CFLAGS = -g -Wall 

all: sortA4 

sortA4: main.o Sortings.o 
$(CPP) $(CFLAGS) -o sortA4 main.o Sortings.o 

main.o: main.cpp Sortings.h 
$(CPP) $(CFLAGS) -c main.cpp 

Sortings.o: Sortings.cpp Sortings.h 
$(CPP) $(CFLAGS) -c Sortings.cpp 

#clean: >>>temp removed for debugging 
# $(RM) count *.o *~ 
+0

可能重複的[gcc makefile錯誤:「沒有規則,使目標...」](http://stackoverflow.com/questions/834748/gcc-makefile-error- no-rule-to-make-target) – sashoalm

+0

這可能是一個愚蠢的問題,但是你確定Makefile的目錄中有一個main.cpp? – nijansen

+0

make將查找當前目錄中的依賴項。我對mingw瞭解不多,但我不認爲它有太大的不同。您可能需要在源目錄中才能正常工作。 – rici

回答

1

你是從命令行還是Visual Studio執行此操作?您是否將命令的工作目錄設置爲「$(CURRENT_DIRECTORY)」?如果沒有,那麼它正試圖從項目/解決方案目錄中執行此操作。

+0

命令行,並設置CD以查看我的文件所在的文件夾 – user2859337

+0

堅持你給了我一個主意..我可能沒有更新我的家用電腦。也許這是不是 – user2859337

+0

如果我是你,我把一個PWD(pwd.exe?)線在Makefile的第一個命令,使main.o.這幾乎肯定會幫助你回答你自己的問題。 –

0

所有的解決方案..我只是忘了改變它,因爲我在兩臺電腦上設置了相同的東西,從未更新nppexec指向的地方。愚蠢的我認爲這是好..