Странно -g в моем make-файле не работает. Возможно, он использует другую версию g ++?
Вот мой make-файл
.default: all
all: linkedlist
clean:
rm -f linkedlist *.o
linkedlist: main.o list.o
g++ -Wall -Werror --std=c++14 -g -O -o $@ $^
%.0: %.cpp
g++ -Wall -Werror --std=c++14 -g -O -c $^
Вот вывод:
╰ make
c++ -c -o main.o main.cpp
c++ -c -o list.o list.cpp
g++ -Wall -Werror --std=c++14 -g -O -o linkedlist main.o list.o
Но он не работает с моим lldb. Однако, если я создаю его вручную
g++ -Wall -Werror -g --std=c++14 -O -o linkedlist list.cpp main.cpp
, мой отладчик работает, и я также замечаю, что он генерирует папку linkedlist.dSYM
(с make-файлом этого не происходит). Я не уверен, но думаю, что до того, как я обновил свой xcode на прошлой неделе, я никогда не видел файл .dSYM при генерации двоичных файлов с -g.
Есть идеи, почему?
Приветствия
G ++ Версия:
╰ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin