编译3.10内核 出现错误 “undefined reference to...." 解决方法
向内核中加入C文件后。假设想编译进内核须要改动当前文件夹下的Kconfig文件和Makefile文件。
如:加入一个test.c文件到driver文件夹下,则须要改动Kconfig文件:
config MY_TEST
tristate "MY_TEST file "
depends on I2C
---help---
This is test file about kernel
相同改动Makefile加入一行:
obj-$(CONFIG_MY_TEST) += test.o
这样运行make menuconfig 能够看到MY_TEST file这一行,有三种状态:编译进内核,编译成模块,或者不编译。
曾经一直以为Kconfig文件改动没有限制,今天编译内核时。没有注意加入位子,随便找了个地方将新文件的配置选项加入进去,编译的时候报错例如以下:
clk-composite.c:(.text+0x22f25c): undefined reference to `foreground_sdc_select'
clk-composite.c:(.text+0x22f274): undefined reference to `bg_overlay_sdc_select'
drivers/built-in.o: In function `stop_preview':
clk-composite.c:(.text+0x22f2e4): undefined reference to `foreground_sdc_deselect'
clk-composite.c:(.text+0x22f2f0): undefined reference to `bg_overlay_sdc_deselect'
drivers/built-in.o: In function `mxc_v4l_open':
clk-composite.c:(.text+0x22ff28): undefined reference to `csi_enc_select'
clk-composite.c:(.text+0x22ff54): undefined reference to `prp_enc_select'
经过网行一番查找,得知典型的undefined reference错误,由于在链接时发现找不到某个函数的实现文件。或者说编译顺序有错误。
也就是该c文件调用了其它地方的函数,可是在调用的文件之前编译了。可定找不到将要调用的函数,所以报错了。
详解见:http://www.educity.cn/linux/1241992.html
所以在Kconfig中加入代码须要讲究位子,最好加入在代码功能相近的文件附近。
编译3.10内核 出现错误 “undefined reference to...." 解决方法的更多相关文章
- "undefined reference to" 问题解决方法
近期在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似以下这种错误: (.text+0x13): undefined reference to `func' 关于undef ...
- cocos2dx添加新的类后出现错误undefined reference to的解决办法
使用cocos compile -p android编译cocos2dx项目的时候出现如下错误(新建了TestScene.h,TestScene.cpp): jni/../../Classes/App ...
- eclipse中编译出现错误undefined reference to `_sbrk'
1. 在eclipse中使用gcc-arm-none-eabi-7-2017-q4-major-win32编译代码的时候出现了undefined reference to `_sbrk' e:/pro ...
- 错误 undefined reference to __cxa_guard_acquire/release
用gcc编译 c++ 程序时,出现错误 undefined reference to __cxa_guard_acquire linker error, 但是用icc可以正常编译, 问题出在stati ...
- [转载]解决linux 下多线程错误 undefined reference to `sem_init'
转自:https://blog.csdn.net/yzycqu/article/details/7396498?utm_source=copy 解决linux 下多线程错误 undefined ref ...
- 解决错误---undefined reference to `pthread_create‘
今天试着敲了一下APUE的小例子,遇到了个错误 ----- undefined reference to `pthread_create.(为自己这么晚接触多线程惭愧). 上网上查了一下,借人经验. ...
- MySQL主从失败 错误Got fatal error 1236解决方法
--MySQL主从失败 错误Got fatal error 1236解决方法 ----------------------------------------------------2014/05/1 ...
- Sublime2编译Python程序EOFError:EOF when reading a line解决方法【转】
在Sublime2中编译运行Python文件时,如果代码中包含用户输入的函数时(eg. raw_input()),Ctrl+b编译运行之后会提示以下错误: 解决方法:安装SublimeREPL打开Su ...
- http://localhost/certsrv 错误找不到页面解决方法
http://localhost/certsrv 错误找不到页面解决方法 最近公司需要后台启动安全证书,可安装了“Active Directory证书服务” 后,http://localhost/ce ...
随机推荐
- ubuntu14.04修改mysql默认编码
修改文件为/etc/mysql/my.cnf [client] default-character-set = utf8 (ps:client的设置没变) [mysqld] lower_case_ta ...
- 【bzoj4753】[Jsoi2016]最佳团体 分数规划+树形背包dp
题目描述 JSOI信息学代表队一共有N名候选人,这些候选人从1到N编号.方便起见,JYY的编号是0号.每个候选人都由一位编号比他小的候选人Ri推荐.如果Ri=0则说明这个候选人是JYY自己看上的.为了 ...
- BZOJ 3626 [LNOI2014]LCA ——树链剖分
思路转化很巧妙. 首先把询问做差分. 然后发现加入一个点就把路径上的点都+1,询问的时候直接询问到根的路径和. 这样和原问题是等价的,然后树链剖分+线段树就可以做了. #include <map ...
- BZOJ3991 [SDOI2015]寻宝游戏 【dfs序 + lca + STL】
题目 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的道路 ...
- 需要打印真实尺寸大小等需求的,css的单位可以使用mm等做单位
今天甲方那边改需求了,要求打印出来的尺寸是85mm/55mm的,开始还一直在网上找px和mm的相关换算,结果去w3c看了,竟然还有mm单位的, 在这里做个笔记
- 博彩游戏(tyvj 1519)
背景 Bob最近迷上了一个博彩游戏…… 描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列:有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否 ...
- Linq技巧4——怎么在.NET 3.5 SP1中伪造一个外键属性
在.NET 4.0 的EF 中,增加了FK Associations 的功能,但是在.NET 3.5 SP1 中,仅仅支持独立的关联,这意味着FK 栏位不能作为实体的属性来使用,也就是说在使用的时候, ...
- 【BZOJ1901】Dynamic Rankings(树套树,树状数组,主席树)
题意:给定一个N个数的序列,要求维护一个数据结构支持以下两种操作: 1:将第X个数改成Y 2:查询第X到第Y个数里第K小的数是多少 n,m<=10000,a[i]<=10^9 思路:单点修 ...
- 基于css3翻牌效果
<div class="map_block float_l lineItem"> <a href="javascript:;" class=& ...
- luogu 3708 koishi的数学题 递推 线性筛
题目链接 题意 输入一个整数\(n\)\((n\leq 1e6)\),设\(f(x)=\sum_{i=1}^n x\mod i\),你需要输出\(f(1),f(2)...,f(n)\). 输入输出格式 ...