我有一个用C ++编写的控制台应用程序,我在Qt Creator中开发。我正在使用toolchain并且我已经在cmake CMAKE_SYSROOT,CMAKE_CXX_COMPILER中设置指向来自该工具链的那些。另外,我在gcc中添加了-g和-O0。然后,我在Qt Creator中创建了一个工具包,用于构建和部署可执行文件到Raspberry Pi 3,它运行良好。现在,我想设置调试器以从我的PC远程调试应用程序。
所以,我已经在我的Qt Creator中的工具包中添加了gdbmultiarch编译器,并将其工作目录设置为我在CMAKE_SYSROOT中设置的sysroot路径。接下来,我在Raspberry Pi上安装了gdbserver并尝试连接。这是成功的,但我得到警告:“无法加载共享库符号”。然后,我去了Qt Creator选项 - >调试器 - > GDB - >附加附加选项并添加
set sysroot [path to sysroot from toolchain]
但警告仍然存在。我也试过了
set solib-search-path [path to libraries in sysroot from toolchain]
和
set solib-absolute-prefix [path to sysroot from toolchain]
但这些都没有奏效。
唯一有效的是
set sysroot target:/
然后我正在加载Raspberry Pi中的所有库,而且速度很慢。那么我做错了什么,我该如何解决呢?
答案 0 :(得分:0)
将sysroot设置为主机的qt5pi目录对我有用。所以对我来说,像这样:
set sysroot ~/raspi/qt5pi/
(在Qt Creator选项->调试器-> GDB->其他附加选项中。)