在编译过程中,它会在"cannot find -lexecinfo"



这是Slackware 14.1 Linux。在编译过程中,它总是失败

/usr/lib64/gcc/x86_64-slackware-linux/4.8.2/../../../../x86_64-slackware-linux/bin/ld: cannot find -lexecinfo

缺少图书馆吗?问题是我不知道它要查找的确切文件名,我有一个

     /usr/include/execinfo.h 

任何帮助将不胜感激。

如果程序试图使用 backtrace(3) 之类的,那么你很可能实际上并不需要 -lexecinfo 选项来编译源代码。 编辑您的 Makefile 并尝试将其删除,看看它是否会构建。

为了建立在史蒂夫的答案之上,glibc 包含 backtrace 和朋友,它们是 GNU 扩展。因此,在 glibc 系统上,不需要额外的链接器标志来获取backtrace符号,因此您应该删除 -lexecinfo 标志。

但是,非 glibc 系统可以使用外部 libexecinfo 来提供这些符号,在这种情况下需要-lexecinfo

相关内容

最新更新