1.
serve_image.c: In function ‘main’:
serve_image.c:32:18: error: storage size of ‘hints’ isn’t known
struct addrinfo hints;
^~~~~
serve_image.c:94:19: error: ‘AI_ADDRCONFIG’ undeclared (first use in this function)
hints.ai_flags = AI_ADDRCONFIG;
解决办法:修改操作系统头文件/usr/include/netdb.h,将此宏__USE_XOPEN2K注释掉。主要原因是
mtd-utils-1.5.0.tar.bz2的版本太低,不支持POSIX和ubuntu系统不匹配。
2.
/usr/bin/ld: /home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.a(libmtd.o): in function `dev_node2num':
/home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.c:444: undefined reference to `major'
/usr/bin/ld: /home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.c:445: undefined reference to `minor'
/usr/bin/ld: /home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.a(libmtd.o): in function `mtd_probe_node':
/home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.c:1390: undefined reference to `major'
/usr/bin/ld: /home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.c:1391: undefined reference to `minor'
/usr/bin/ld: /home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd.a(libmtd_legacy.o): in function `legacy_get_dev_info':
/home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd_legacy.c:254: undefined reference to `major'
/usr/bin/ld: /home/alex/work/source/osdrv/tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/lib/libmtd_legacy.c:255: undefined reference to `minor'
解决办法:
man major
SYNOPSIS
#include <sys/sysmacros.h>
dev_t makedev(unsigned int maj, unsigned int min);
unsigned int major(dev_t dev);
unsigned int minor(dev_t dev);
包含#include <sys/sysmacros.h>就可以了。