>  기사  >  데이터 베이스  >  内核2.6.22.6编译出现 undefined reference to

内核2.6.22.6编译出现 undefined reference to

WBOY
WBOY원래의
2016-06-07 15:36:361081검색

昨天重下午开始到晚上2点多都没有解决这个问题,今天一大早 起来又开始弄,总算在这个时候吧这个问题解决了 首先谈一下我的内核是2.6.22.6 编译器的版本是GCC-4.8 按照别人的教程。先 #make oldconfig 在#make 但是在此时出现了如下的问题: (注:提图片是

昨天重下午开始到晚上2点多都没有解决这个问题,今天一大早 起来又开始弄,总算在这个时候吧这个问题解决了

 首先谈一下我的内核是2.6.22.6 编译器的版本是GCC-4.8

按照别人的教程。先 #make oldconfig 在#make 但是在此时出现了如下的问题:

内核2.6.22.6编译出现    undefined reference to

(注:提图片是网上截图完成,并不代表所有的linux内核编译)

在着了我是想告诉大家,我的问题是怎么解决的,你看到图片的第二行有个说明是:kernel/built—in.o:in function  'mutex_lock'

在这句话里面,那你可以发现,你的函数mutex_lock很有可能在kernel某个函数文件里面,我们现在试着进去kernel/去找找看有没有

关于mutex_lock的函数文件

内核2.6.22.6编译出现    undefined reference to

你会看到在kernel目下确实有几个关于muxtex的文件,这个时候我们只需要打开一个相关的文件分别查看一下,就知道了

很显然我们会打开mutex.c,用Vim打开,你会看到有关的编译错误出现的函数

内核2.6.22.6编译出现    undefined reference to

看到这里你会不会感到十分惊喜,因为你解决问题只有一步之遥了,看到我在图片上的红圈没,那个是我自己加上去了,

你在编译出错时,当你打开此文件时,是没有这个__used的,在这个文件里面,一共有三处地方要改动,那就你自己去改吧,

当你看到  __mutex_unlock_slowpath();这个函数是,同样也要在这个函数前面加上__used


至于为啥要加上__used  请百度或者Google 


 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.