Я писал простой загрузчик,
Я использую команду make file, чтобы преобразовать main.bin в main_floppy.img.
cp -f build/main.bin build/main_floppy.img
но я продолжаю получать эту ошибку
nasm src/main.asm -f bin -o build/main.bin cp -f build/main.bin
build/main_floppy.img process_begin: CreateProcess(NULL, cp -f
build/main.bin build/main_floppy.img, ...) failed. make (e=2): The
system cannot find the file specified. make: *** [Makefile:3: setup]
Error 2
Обычно вопрос «как мне сделать X с помощью make/с помощью make-файла» — неправильный вопрос. Правильный вариант обычно заключается в том, как выполнить работу, используя команды командной строки для интерпретатора команд, который make должен использовать. И, по крайней мере, в Windows вы не можете пренебречь частью «интерпретатора команд, который make должен использовать».





Похоже, вы используете Windows. Вместо этого попробуйте это:
all:
nasm src\main.asm -f bin -o build\main.bin
rename build\main.bin main_floppy.img
Если вы действительно используете Linux (мы не знаем), попробуйте следующее:
all:
nasm src/main.asm -f bin -o build/main.bin
mv build/main.bin build/main_floppy.img
(Я просто разделил две команды на две разные строки)
Извините, я забыл предоставить код моего make-файла, я немного отредактировал ваш код: setup: nasm src/main.asm -f bin -o build/main.bin rename build/main.bin main.img Но теперь я получаю эту ошибку nasm src/main.asm -f bin -o build/main.bin rename build/main.bin main_floppy.img Неверный синтаксис команды. make: *** [Makefile:3: setup] Ошибка 1
Если вы используете Windows, вам нужно использовать обратную косую черту («\"). Слеши интерпретируются как определенные параметры командной строки из команды «переименовать».
Спасибо! Наконец он работает через 4 дня. я боялся использовать stackoverflow, лол. Вы намного лучше, чем большинство других людей в stackoverflow. Довольно редко!
Хорошо, спасибо большое, рад, что помог! не могли бы вы просто закрыть вопрос как решенный?
Конечно! Я отметил это как решенное
CreateProcess, «система не может найти указанный файл» — работает в Windows. В Windows нет командыcp.