这是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
任何帮助都将不胜感激。
afdcj2ne1#
如果程序试图使用backtrace(3)或类似的方法,那么很可能你实际上并不需要-lexecinfo选项来编译源代码。编辑你的Makefile并尝试删除它,看看它是否会编译。
vhmi4jdf2#
为了建立在Steve的答案上,glibc包含backtrace和friends,它们是GNU扩展。因此,在glibc系统上,不需要额外的链接器标志来获取backtrace符号,所以你应该删除-lexecinfo标志。但是,非glibc系统可以使用外部libexecinfo来提供这些符号,在这种情况下需要-lexecinfo。
backtrace
-lexecinfo
2条答案
按热度按时间afdcj2ne1#
如果程序试图使用backtrace(3)或类似的方法,那么很可能你实际上并不需要-lexecinfo选项来编译源代码。编辑你的Makefile并尝试删除它,看看它是否会编译。
vhmi4jdf2#
为了建立在Steve的答案上,glibc包含
backtrace
和friends,它们是GNU扩展。因此,在glibc系统上,不需要额外的链接器标志来获取backtrace
符号,所以你应该删除-lexecinfo
标志。但是,非glibc系统可以使用外部libexecinfo来提供这些符号,在这种情况下需要
-lexecinfo
。