一尘不染

gdb说“无法打开共享对象文件”

linux

我有一个二进制文件和一个共享库。共享库使用以下命令进行编译:

all:
g++ -g -shared -fpic $(SOURCES) -o libmisc.so

二进制文件使用以下命令进行编译:

LIBS=-L../../misc/src

LDFLAGS=-lmisc

all:
g++ -g -o mainx $(INCLUDE) $(SOURCE) $(LIBS) $(LDFLAGS)

我进去了 ~/.bashrc

export LD_LIBRARY_PATH=/mnt/sda5/Programming/misc/src/

libmisc.so输出路径。

从控制台调试工作正常:

gdb mainx

但是,从Emacs22启动gdb失败,并显示以下消息:

启动程序:/ mnt / sda5 / Programming / main / src / mainx / mnt / sda5 /
Programming / main / src / mainx:加载共享库时出错:libmisc.so:无法打开共享库文件:没有这样的文件或目录

目前,这看起来非常棘手,但我无法解决。我不确定这是否是emacs的问题,还是应该在gdb的命令行中传递参数。


阅读 356

收藏
2020-06-03

共1个答案

一尘不染

Emacs可能在调用gdb之前不会读取您的.bashrc。尝试在您的.gdbinit文件中放入“设置solib-搜索路径”和“设置solib-绝对路径”

2020-06-03