/home/zlgmcu/Desktop/SOFT/gdb/gdb-9.2/gdb/gdbserver/build-libiberty-gdbserver/.././../../libiberty/filename_cmp.c:179: undefined reference to `_sch_tolower' /usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: build-libiberty-gdbserver/libiberty.a(lbasename.o): in function `dos_lbasename': /home/zlgmcu/Desktop/SOFT/gdb/gdb-9.2/gdb/gdbserver/build-libiberty-gdbserver/.././../../libiberty/lbasename.c:74: undefined reference to `_sch_istable' collect2: error: ld returned 1 exit status make: *** [Makefile:411:gdbserver] 错误 1
时间: 2023-06-28 09:05:34 浏览: 223
制作GDB和GDBServer,arm-linux-gdb.pdf
这个错误是因为在编译链接时缺少了 `_sch_tolower` 和 `_sch_istable` 函数的定义。这两个函数都是 libiberty 库中的函数,需要将其链接到你的程序中。
你可以尝试在编译链接时加上 `-liberty` 参数来链接 libiberty 库,例如:
```
gcc your_program.c -o your_program -liberty
```
如果你使用的是 Makefile 构建程序,可以在 Makefile 中的链接命令中加入 `-liberty` 参数,例如:
```
your_program: your_program.o
gcc your_program.o -o your_program -liberty
```
如果以上方法仍然无法解决问题,可能需要检查你的 libiberty 库是否正确安装。
阅读全文