我有一个二进制文件和一个共享库。共享库使用以下命令进行编译:
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
~/.bashrc
export LD_LIBRARY_PATH=/mnt/sda5/Programming/misc/src/
到libmisc.so输出路径。
libmisc.so
从控制台调试工作正常:
gdb mainx
但是,从Emacs22启动gdb失败,并显示以下消息:
启动程序:/ mnt / sda5 / Programming / main / src / mainx / mnt / sda5 / Programming / main / src / mainx:加载共享库时出错:libmisc.so:无法打开共享库文件:没有这样的文件或目录
目前,这看起来非常棘手,但我无法解决。我不确定这是否是emacs的问题,还是应该在gdb的命令行中传递参数。
Emacs可能在调用gdb之前不会读取您的.bashrc。尝试在您的.gdbinit文件中放入“设置solib-搜索路径”和“设置solib-绝对路径”