undefined reference to `minor' undefined reference to `major'的解决方案

本文记录了在使用GCC编译器编译C程序时遇到的关于major和minor函数未定义引用的问题及其解决方法。问题出现在编译Ad_Pro_in_Unix项目的chapter_4中的pro_4_25.c文件。通过查阅资料发现,这两个函数定义于sys/types.h之外的文件。最终解决方案是引入sysmacros.h头文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

坑爹啊!搞了半天。。。

root@ubuntu:/Ad_Pro_in_Unix/chapter_4# gcc ./pro_4_25.c -o ./c.out
/tmp/ccfhE6Bd.o: In function `main':
pro_4_25.c:(.text+0x605): undefined reference to `minor'
pro_4_25.c:(.text+0x61b): undefined reference to `major'
pro_4_25.c:(.text+0x663): undefined reference to `minor'
pro_4_25.c:(.text+0x676): undefined reference to `major'

仅此blog,帮助遇到同样问题的童鞋。。。

看APUE的时候,第四章的example里面有个major 和minor函数

这个时候man一下发现在sys/types.h里面。

好的,include以为完事大吉。。。”以为“而已。。。

不行的。。。同样报错。。

根本原因就是

还是别人说把:“linux下就是没有。查了一下,好像是solaris有,在linux下应该不需要包含此文件,因为相应内容其他头文件可以提供。 
不知你需要什么定义,比如makedev,在文件 
/usr/include/sys/sysmacros.h 
中定义,但是一般只要包含sys/types.h即可”


把sysmacros.h include进去,搞定。。。。


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值