最近我决定尝试 clang 并且它有效。 (这不是问题)
但是当我尝试运行它时,我得到了一个浮点。我搜索了 clang 调试器
并获得 LLDB,去安装它(lldb-14-dev 和 liblldb-dev 通过 synaptic)
也许我错过了一些。大概
当我尝试运行它时(lldb ./out/roguelike launch),这就是我得到的:
clang -Wall -Werror -lm *.c -o out/roguelike `sdl2-config --cflags --libs` -lm
lldb .out/roguelike launch
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'lldb.embedded_interpreter'
(lldb) target create ".out/roguelike"
error: unable to find executable for '.out/roguelike'
这可能是因为我错过了一些 lldb 的事情或忘记了一些参数(不幸的)
但我不确定。不过,如果有关系(不太可能),这是我的 makefile:
CC = clang
lazy_compile:
$(CC) -Wall -Werror -lm *.c -o out/roguelike `sdl2-config --cflags --libs` -lm
lazy_test: lazy_compile
./out/roguelike
compile:
$(CC) -O3 -Os -static *.c -o out/roguelike `sdl2-config --cflags --libs` -lm
debug: lazy_compile
lldb .out/roguelike launch
run: compile
./out/roguelike
我尝试摆弄一些软件包,但没有成功,
我无法理解大多数关于如何使用 lldb 的教程
所以我真的不知道它是什么,特别是最后一行
您可以使用
启动
lldb
lldb out/roguelike launch
或
lldb ./out/roguelike launch
但不与
lldb .out/roguelike launch
另外,这不是错误,但您包含了
-lm
两次。
是的,HolyBlackCat 在评论中所说的:提供调试信息,只需将第一个
-lm
(链接标志应放置在工具链的末尾)替换为 -g
,它就应该可以工作。