Я пытаюсь взять make-файл, который был написан для mingw в Windows, и поменять в cl.exe как компилятор. Я удалил флагов, которые были специфическими для GCC, и заменил .o на .obj. Я вообще не изменяю правила, поэтому я не знаю, должно ли это быть проблемой.Замена mingw g ++ с MS cl.exe в makefile
Я получаю следующее сообщение об ошибке ...
cl /link build/WavFileTool.obj src/WavFileTool.cpp
process_begin: CreateProcess(NULL, cl /link build/WavFileTool.obj src/WavFileTool.cpp, ...) failed.
make (e=2): The system cannot find the file specified.
А вот мой Makefile
CC := cl
CFLAGS := /link
BIN_DIR := bin
BUILD_DIR := build
SRC_DIR := src
MAIN := WavFileTool
TARGET := wavfiletool.exe
SOURCES := $(wildcard src/*.cpp)
OBJECTS := $(SOURCES:$(SRC_DIR)/%.cpp=$(BUILD_DIR)/%.obj)
$(BIN_DIR)/$(TARGET): CREATE_DIRS $(BUILD_DIR)/$(MAIN).obj $(OBJECTS)
$(CC) $(OBJECTS) [email protected]
$(BUILD_DIR)/$(MAIN).obj: $(SRC_DIR)/WavFileTool.cpp
$(CC) $(CFLAGS) [email protected] $<
$(BUILD_DIR)/%.obj: $(SRC_DIR)/%.cpp $(SRC_DIR)/%.h
$(CC) $(CFLAGS) [email protected] $<
CREATE_DIRS:
if not exist $(BIN_DIR) mkdir $(BIN_DIR)
if not exist $(BUILD_DIR) mkdir $(BUILD_DIR)
CLEAN:
if exist $(BUILD_DIR) rmdir /Q /S $(BUILD_DIR)
Такая же ошибка сохраняется после добавления изменений. – ScottF
Я обновил ответ, чтобы также исправить CFLAGS и ссылку, которую я пропустил в первый раз. – dxiv