内核2.6.22.6编译出现 undefined reference to
昨天重下午开始到晚上2点多都没有解决这个问题,今天一大早 起来又开始弄,总算在这个时候吧这个问题解决了 首先谈一下我的内核是2.6.22.6 编译器的版本是GCC-4.8 按照别人的教程。先 #make oldconfig 在#make 但是在此时出现了如下的问题: (注:提图片是
昨天重下午开始到晚上2点多都没有解决这个问题,今天一大早 起来又开始弄,总算在这个时候吧这个问题解决了
首先谈一下我的内核是2.6.22.6 编译器的版本是GCC-4.8
按照别人的教程。先 #make oldconfig 在#make 但是在此时出现了如下的问题:
(注:提图片是网上截图完成,并不代表所有的linux内核编译)
在着了我是想告诉大家,我的问题是怎么解决的,你看到图片的第二行有个说明是:kernel/built—in.o:in function 'mutex_lock'
在这句话里面,那你可以发现,你的函数mutex_lock很有可能在kernel某个函数文件里面,我们现在试着进去kernel/去找找看有没有
关于mutex_lock的函数文件
你会看到在kernel目下确实有几个关于muxtex的文件,这个时候我们只需要打开一个相关的文件分别查看一下,就知道了
很显然我们会打开mutex.c,用Vim打开,你会看到有关的编译错误出现的函数
看到这里你会不会感到十分惊喜,因为你解决问题只有一步之遥了,看到我在图片上的红圈没,那个是我自己加上去了,
你在编译出错时,当你打开此文件时,是没有这个__used的,在这个文件里面,一共有三处地方要改动,那就你自己去改吧,
当你看到 __mutex_unlock_slowpath();这个函数是,同样也要在这个函数前面加上__used
至于为啥要加上__used 请百度或者Google
上一篇: mysqldump选项之skip-opt
下一篇: 常见的安全算法
推荐阅读
-
Windows编译OpenCV4Android解决undefined reference to std错误
-
linux内核编译常常出现的问题的解决办法
-
ndk编译error: undefined reference to ‘fegetenv‘
-
Linux内核编译时出现fatal error: openssl/opensslv.h: No such file or directory错误的解决办法
-
Linux内核编译时出现fatal error: openssl/opensslv.h: No such file or directory错误的解决办法
-
fcgi-2.4.0编译出现echo-cpp.o: undefined reference to symbol ‘FCGX_InitRequest‘
-
使用g++编译tf_ops出现undefined symbol: _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringEv
-
【使用 libssh】编译失败, undefined reference to ‘ssh_new‘, undefined reference to ‘ssh_free‘
-
Xcode编译出现 undefined symbols “___darwin_check_fd_set_overflow“
-
解决ROS编译安装Opencv项目出现undefined Reference to....问题