udev编译问题 Linking udev

来源:互联网 发布:mac怎么打开html文件 编辑:程序博客网 时间:2024/06/13 03:59

        编译udev碰到两个问题,可能是因为版本比较老了。我用的是udev-080。

        问题如下:

  Linking udev:                                                         [ERROR]  
  arm-linux-gnueabihf-gcc -Wl,-warn-common udev.o -o udev libudev.a
  libudev.a(udev_sysfs.o): In function `sysfs_device_get':
  /home/hero/work/udev-080/udev_sysfs.c:137: undefined reference to `S_ISLNK'
  collect2: error: ld returned 1 exit status

        这个问题的解决方法是,在udev_sysfs.c文件中添加库文件#include<sys/stat.h>。

        然后继续编译,碰到另一个错误:Compiling udevmonitor.c:                                              [ERROR]  
  arm-linux-gnueabihf-gcc -c -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=6
  4 -Wstrict-prototypes -Wsign-compare -Wshadow -Wchar-subscripts -Wmissing-dec
  larations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -Wmiss
  ing-prototypes -Os -DUSE_LOG udevmonitor.c -o udevmonitor.o
  udevmonitor.c: In function ‘init_udev_monitor_socket’:
  udevmonitor.c:54:2: warning: implicit declaration of function ‘offsetof’
  [-Wimplicit-function-declaration]
  udevmonitor.c:54:2: warning: nested extern declaration of ‘offsetof’ [-Wn
  ested-externs]
  udevmonitor.c:54:21: error: expected expression before ‘struct’

        这个问题同样是缺少库文件,在udevmonitor.c文件中,加入#include<stddef.h>就能解决问题。

        之后继续编译,没有问题。

0 0
原创粉丝点击