2015-07-31 5 views
0

Итак, я получил проект от Github по имени Keylogger для исследования. Я попытался использовать файл makefile, присутствующий в каталоге проекта, для компиляции программы. Но сегодня, только через день, когда я пытаюсь создать его снова, это дает мне ошибку. Вот что я запускаю и результат. Во-первых, я также включил исходный код источника Makefile MakefileПочему этот makefile не работает?

:

CC = gcc 
CPP = g++ 
CFLAGS = -Wall -O3 
#CFLAGS = -I"C:\MinGW\include" 
LDFLAGS = 
#LDFLAGS = -L"C:\MinGW\lib" -mwindows -s 
MKDIR = mkdir 
RM = rm -frv 


.PHONY: all clean 

all: build/test_keylogger.exe build/keylogger.exe 

build/keylogger.exe: build/main.o build/functions.o 
    $(CPP) $(CFLAGS) $^ -o [email protected] $(LDFLAGS) 

build/main.o: src/main.cpp src/main.h src/config.h build 
    $(CPP) $(CFLAGS) -c $< -o [email protected] 

build/functions.o: src/functions.cpp src/functions.h build 
    $(CPP) $(CFLAGS) -c $< -o [email protected] 

build/test_keylogger.exe: build/test_keylogger.o build/functions.o 
    $(CPP) $(CFLAGS) $^ -o [email protected] $(LDFLAGS) 
    [email protected] 

build/test_keylogger.o: tests/test_keylogger.cpp build 
    $(CPP) $(CFLAGS) -c $< -o [email protected] 

build: 
    $(MKDIR) "[email protected]" 

clean: 
    $(RM) build/main.o build/functions.o build/keylogger.exe build/test_keylogger.o build/test_keylogger.exe 
    @#$(RM) build 

И это ошибка, я получаю:

C:\Users\Kanishk\Documents\GitHub\keylogger>make 
g++ -Wall -O3 -c tests/test_keylogger.cpp -o build/test_keylogger.o 
process_begin: CreateProcess(NULL, g++ -Wall -O3 -c tests/test_keylogger.cpp -o 
build/test_keylogger.o, ...) failed. 
make (e=2): The system cannot find the file specified. 
makefile:30: recipe for target 'build/test_keylogger.o' failed 
make: *** [build/test_keylogger.o] Error 2 
+0

есть файл test_keylogger.cpp в тестах /? – Caninonos

+0

Сохраняется ли файл 'tests/test_keylogger.cpp'? –

+2

У вас действительно установлен gcc-mingw? –

ответ

0

make не может найти g++ больше.

Путь к g++, скорее всего, ожидается в PATH переменной окружения.

Вы либо стерты g++, либо переменная окружения PATH не содержит каталог, в котором находится g++.

Возможно, вы также запускаете окна cmd.exe вместо использования значка Cygwin для запуска bash. Обычно запускается пусковая установка Cygwin bash, которая устанавливает PATH для вас. Тот факт, что ваша командная строка включает обратную косую черту \ в названии каталога, подразумевает, что вы запускаете cmd.exe.

Смежные вопросы