我试图通过使用命令ethtool_cmd_speed(& cmd)获得接口速度;
但是当我尝试编译它时,它会抛出像
的错误
未明确引用`ethtool_cmd_speed'。我想知道是否还有其他命令可用于获取接口速度?
它正在为更新版本的linux编译,但是当我尝试在旧版本中编译它时,它会给出错误。所以有人能告诉我如何才能获得界面速度?
答案 0 :(得分:0)
问题在linux源代码中出现,或者源代码与当前编译器不兼容。
如果您查看sources of ethtool_cmd_speed,您可以看到它只有几行:
static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
{
return (ep->speed_hi << 16) | ep->speed;
}
尝试将此功能添加到您的应用中,重命名。
答案 1 :(得分:0)
(这个问题已经存在很长时间了,但是提供的一个答案并没有完全解决所问的问题,因此,遇到这个问题后,我想我会添加更多细节。)
未定义的引用表示您未链接到所需的库。但是,如上所述,所讨论的函数定义为static __inline__
,因此没有链接的符号。这意味着您包含了错误的头文件,或者您自己声明了该函数。只需添加linux/ethtool.h
。