Инкрементная компиляция с использованием MakefileC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Инкрементная компиляция с использованием Makefile

Сообщение Anonymous »

Я компилировал все исходники каждый раз для каждой сборки, а это пустая трата времени. Поэтому я попытался реализовать инкрементную компиляцию, что означает, что будут созданы только те файлы .obj, которые были изменены в исходном коде, а затем файлы .obj будут скомпилированы в файл .exe. Но при попытке запустить обновленный код возникли ошибки.
Мой текущий код:

Код: Выделить всё

# Gather all the source files manually
SRC = $(wildcard ../../src/*.cpp ../../src/*/*.cpp ../../src/*/*/*.cpp ../../src/*/*/*/*.cpp)
VENDORS = $(wildcard ../include/glad/glad.c ../include/im3d/im3d.cpp ../include/imgui/imgui.cpp ../include/imgui/imgui_draw.cpp ../include/imgui/imgui_tables.cpp ../include/imgui/imgui_widgets.cpp ../include/imgui/imgui_impl_glfw.cpp ../include/imgui/imgui_impl_opengl3.cpp)

# Object files (stored in ../../build directory)
BUILD_DIR = ../../SIN2024/x64/Debug
OBJ = $(SRC:../../src/%.cpp=$(BUILD_DIR)/%.obj) $(VENDORS:../include/%.cpp=$(BUILD_DIR)/%.obj)

# Include and library directories
INCLUDE = -I../include -I../../src
LIBS = -L../lib -lglfw3dll -lassimp

# Compiler and linker flags
CXX = g++
CXXFLAGS = -g --std=c++20 $(INCLUDE)

# Rule to generate object files from source files (to ../../build directory)
$(BUILD_DIR)/%.obj: ../../src/%.cpp
@mkdir -p $(BUILD_DIR)
$(CXX) $(CXXFLAGS) -c "$

Подробнее здесь: [url]https://stackoverflow.com/questions/79328402/incremental-compilation-using-makefile[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»