对 dlopen 及其相关项的未定义引用

对 dlopen 及其相关项的未定义引用

我正在尝试编译 Scheme48,并获取对 dlopen 及其朋友的未定义引用。

系统:Xubuntu 12.10,32位

build-essentials 和 libc6-dev 已安装。

在 /lib/i386-linux-gnu/ 中存在文件 libdl.2.15.so。libdl.so.2 是指向它的符号链接。/usr/lib/i386-linux-gnu/libdl.so 是指向 /lib/i386-linux-gnu/libdl.so.2 的符号链接

Makefile 在 gcc 命令上有 -ldl 来链接可执行文件。

我显然错过了一些神奇的秘诀,因为 Google 挖掘出的所有抱怨都是 64 位失败而 32 位可以运行。但 32 位无法构建。

是什么赋予了?

答案1

找到问题了。命令行中 -ldl 参数指定得太早了。修改 Makefile.in 以将库放在所有 .o 文件之后解决了这个问题。

Scheme48 1.9 版本也修复了这个问题。

相关内容