Файл Make ниже не компилируется с отладочной информацией.
Кто-нибудь может подсказать, что не так?Я не эксперт по make-файлам.
Я пытался добавить опции -g.Что еще мне делать?
Это связано с этим постом - я не могу использовать gdb в коде Visual Studio?
Ошибка при отладке кода C ++ для Visual Studio Visual Visual Code
Спасибо
EXEC = deserialize
WARNING_FLAGS := -pedantic-errors -Wall -Wextra -Werror -Wno-format-security
COMPILATION_FLAGS := -std=c++17 -fPIC -fconcepts -c -g
INCLUDES := -I../flatbuffers/include -I.
LIBS := -lstdc++
SRCS := $(wildcard *.cpp)
OBJS := $(patsubst %.cpp, %.o, $(wildcard *.cpp))
STANDALONE_HEADERS :=
LIB := graph.so
LIB_OBJS := $(filter-out main.o,$(OBJS))
LIB_FLAGS := -shared
# .PHONY: all clean
%.o: %.cpp
gcc $^ $(INCLUDES) $(LIBS) $(COMPILATION_FLAGS) $(WARNING_FLAGS) \
-o $@ $(STANDALONE_HEADERS) -g
$(LIB): $(LIB_OBJS)
gcc $(LIB_OBJS) $(LIBS) $(LIB_FLAGS) -g -o $@
$(EXEC): $(LIB) main.o
# gcc main.o $(LIB) $(LIBS) -o $(EXEC)
# sudo ldconfig
gcc main.o -L . -l:graph.so $(LIBS) -o $(EXEC) -g
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(PWD);
all: clean $(EXEC)
clean:
-rm *.o $(EXEC)
Мой task.json
файл в коде VS:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "/project/main",
"args": [],
"stopAtEntry": true,
"cwd": "/project",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build tool"
}
]}
Ошибка в отладчике кода VS:
Остановлена из-за события общей библиотеки (библиотеки не добавлены или удалены) Loaded '/ lib64/ld-linux-x86-64.so.2.Символы загружены.[Нижний 1 (процесс 13729) завершился с кодом 0177] Программа '/ project / main' вышла с кодом 177 (0x000000b1).