
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++ -I/opt/homebrew/Cellar/gcc/13.2.0/include/c++/13.2.0 -I/opt/homebrew/Cellar/gcc/13.2.0/include/c++/13.2.0/aarch64-apple-darwin23.4.0")
1
nightwitch 2025 年 2 月 1 日
标准库(libc++/libstdc++),编译器(gcc/clang), 调试器(gdb/lldb)混搭着使用就这样。能编过,但是调试起来体验不好。
统一用 clang 的工具链和标准库,或者统一用 gcc ,就没这问题了 |
2
MoYi123 2025 年 2 月 1 日
直接用 gdb terminal print 能打印出来吗? 先确定一下是 gdb 的问题还是 clion 的.
如果确定是 clion 的问题, 可以找 jetbrains 的人帮你, 我之前也遇到过 clion 里的 gdb 有错误, 但是 gdb print 是好的, 后来删了一个 tmp 下的缓存文件就好了. https://youtrack.jetbrains.com/issue/CPP-41050/Debugging-with-GDB-in-remote-toolchains-is-broken-by-CLion-update |
3
rednose1037 OP @MoYi123 #2 mac 用不了 gdb ,是 lldb 🥲
|
4
nightwitch 2025 年 2 月 2 日
brew 装一个就有了吧
|
5
rednose1037 OP |
6
rednose1037 OP @nightwitch #4
``` jialage@jialagedeMacBook-Pro ~ % brew install gdb ==> Downloading https://formulae.brew.sh/api/formula.jws.json ==> Downloading https://formulae.brew.sh/api/cask.jws.json gdb: The x86_64 architecture is required for this software. Error: gdb: An unsatisfied requirement failed this build. ``` |
7
MoYi123 2025 年 2 月 5 日
lldb 和 gdb 和确定是不是 clion 的错误也没什么关系啊,
(lldb) print a (std::unordered_map<int, std::vector<int> >) size=1 { [0] = { __cc_ = { first = 1 second = size=3 { [0] = 1 [1] = 2 [2] = 3 } } } } 如果 lldb 能这样成功打印, 那肯定是 clion 的错误了, 直接找 jetbrains 就行了. |