Как запустить команду «make» для YoloV3 Darknet (для Windows)? - PullRequest
0 голосов
/ 18 февраля 2019

После запуска команды ./make.exe (с помощью GNUWin32) я получаю следующую ошибку:

mkdir -p obj   
mkdir -p backup   
A subdirectory or file -p already exists.  
Error occurred while processing: -p. make: *** [backup] Error 1

После повторного запуска команды я получаю другую ошибку:

mkdir -p results
A subdirectory or file -p already exists.
Error occurred while processing: -p.
make: *** [results] Error 1

Тогда я получаю ту же ошибку, независимо от того, сколько раз я повторяю команду make:

gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
process_begin: CreateProcess(NULL, gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [obj/gemm.o] Error 2

Поскольку я новичок, не могли бы вы предоставить подробные инструкции о том, как я могу решить проблему?

1 Ответ

0 голосов
/ 18 февраля 2019

Эти проблемы:

mkdir -p obj   
mkdir -p backup   
A subdirectory or file -p already exists.  
Error occurred while processing: -p. make: *** [backup] Error 1

вызваны тем, что вы попросили Make выполнить в Windows make-файл, созданный для работы в Linux или другой Unix-подобной операционной системе.

В Unix-подобных операционных системах команда:

mkdir -p obj

означает: Создать каталог с именем obj без ошибок, если он уже существует .В Windows это означает: Создать каталог с именем -p , а затем каталог с именем obj.

Поэтому, когда mkdir -p obj создал каталоги -p и obj, команда:

mkdir -p backup

завершается неудачно, потому что:

A subdirectory or file -p already exists.

Makefile Unix / Linux не имеет намерения создавать каталог с именем -p, но в Windowsэто то, что он делает.

Бессмысленно пытаться исправить эту конкретную ошибку.Это только первая из многих неопределенных ошибок, которые могут возникнуть при попытке выполнить make-файл Unix / Linux в Windows.Вам нужен make-файл, который был написан для запуска в Windows, или для его написания самостоятельно, или чтобы найти способ сборки программного обеспечения в Windows, в котором не используется Make.

Эта проблема:

gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
process_begin: CreateProcess(NULL, gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [obj/gemm.o] Error 2

вызвано тем, что вы не установили GCC C компилятор gcc на свой компьютер, или, если у вас есть, каталог, в котором он находится, отсутствует в вашем PATH.Поэтому Make не может найти его для выполнения основной задачи компиляции и компоновки вашего программного обеспечения.

Вот популярный порт Windows GCC

...