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 31 天前
标准库(libc++/libstdc++),编译器(gcc/clang), 调试器(gdb/lldb)混搭着使用就这样。能编过,但是调试起来体验不好。
统一用 clang 的工具链和标准库,或者统一用 gcc ,就没这问题了 |
![]() |
2
MoYi123 31 天前
直接用 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 30 天前
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 27 天前
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 就行了. |