带有未定义引用错误的udevadm代码

时间:2014-04-11 08:00:32

标签: linux linux-kernel gcc-warning udev

udevadm在我的桌面上运行良好。但是,我编写了链接到libudev.so的代码,通过以下命令编译我的代码:

gcc -g -Wall -ludev test.c -o testadm

我在以下日志中遇到了一堆错误:

对udev_monitor_receive_device的未定义引用

对udev_device_unref的未定义引用

对udev_monitor_get_fd的未定义引用

对udev_monitor_get_fd的未定义引用

.......

我认为libudev.so中的/lib/x86_64-linux-gnu/生活已经很好了。

请提供反馈。

1 个答案:

答案 0 :(得分:2)

我认为gcc没有找到libudev。查找它所在的位置,并使用-L选项(例如

)将路径传递给gcc
gcc -g -Wall -L/lib/crazylibs -ludev test.c -o testadm

如果找不到,可能会遗漏devel版本,如libudev-devel(dunno your distro)。