这是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
。