openwrt undefined reference to ‘getpwent

因为需要安装 su sudouseraddgroupaddchown login 等用户管理命令,会访问passwd文件。用到了 getpwant_r 函数。具体是哪个命令引起的,暂时不知。

报错如图:

经过了解,发现 函数 getpwent_r 是一个可从入函数,也就是 getpwent 线程版本。 作用是,获取 passwd 文件的内容。包含在 pwd.h 头文件下。但是搜索了交叉编译器的头文件之后,确实没有发现关于这个函数声明。继续百度后找到这个函数是属于 glibc 的。这是linux系统中最底层的api,所以,这个库应该是安装了,但是因为是嵌入式系统,可能做了部分优化,所以本来进入到menuconfig 中 一条条的找关于 glibc 的描述。最终发现关于交叉编译器的高级选项中有一项描述 glibc 的, 如图:

根据提示,选中相应配置:

[*] Advanced configuration options (for developers) —> [*] Toolchain Options —>(e)glibc version (glibc 2.21) —> 之后 make ,大约2个小时后编译成功。会发现在 openwrt 工作目录下 的bin 目录想 多出来一个ramips-glibc 目录。 里面就有编译好的镜像包。烧录到板子即可。

版权声明:本文为博主原创文章,,未经博主允许不得转载。

那绿叶上的水珠,是思念的泪滴。

openwrt undefined reference to ‘getpwent

相关文章:

你感兴趣的文章:

标签云: