Настройка make-файла для компиляции с отладочной информацией на этапе компоновки - PullRequest
0 голосов
/ 06 декабря 2018

Файл 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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...