编译3.10内核 出现错误 “undefined reference to...." 解决方法
来源:互联网 发布:淘宝支付网站 编辑:程序博客网 时间:2024/05/22 11:35
向内核中添加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中添加代码需要讲究位子,最好添加在代码功能相近的文件附近。
0 0
- 编译3.10内核 出现错误 “undefined reference to...." 解决方法
- 编译WU FTPD出现"undefined reference to crypt"错误解决方法
- 出现undefined reference to `forkpty' 错误解决方法
- NDK编译出现undefined reference to错误
- undefined reference to `__gnu_mcount_nc'的解决 在编译内核时出现了如下错误:
- PHP 5.3.10 编译安装时出现 undefined reference to `libiconv' 错误的解决方法
- 编译出现"undefined reference to `GTK_WIDGET_REALIZED',`GTK_WIDGET_VISIBLE' "相关错误的解决方法
- PHP 编译安装时出现 undefined reference to `libiconv' 错误的解决方法
- 编译tslib1.4出现错误undefined reference to rpl_malloc错误
- 编译内核出现问题: undefined reference to `__gnu_mcount_nc'
- 内核2.6.22.6编译出现 undefined reference to __mutex_unlock_slowpath,
- gcc编译出现undefined reference to 'pthread_create'的解决方法
- 编译内核是发现错误:undefined reference to `dm9000_initialize'
- A20内核编译错误undefined reference to `hwmon_device_register'
- 编译静态expect现undefined reference to `openpty' 错误解决方法
- 编译错误undefined reference to `dlsym' 的解决方法
- 编译错误undefined reference to `dlopen' 'dlsym' 'dlclose'的解决方法
- TORNADO下编译出现undefined reference to `itoa'错误
- Qt Creator编译my SQL 驱动
- 先进的自动布局工具箱
- 三分 cf439D
- Android 命名规范
- 【Android】Eclipse自动编译NDK/JNI的三种方法
- 编译3.10内核 出现错误 “undefined reference to...." 解决方法
- sap 内存优化
- 剑指offer 面试题7
- ListOrderedMap
- 回调函数
- 二分 cf 343c div1
- Oracle建立表空间和用户
- Odoo环境下Ubuntu服务器性能优化--参数调整
- 互联网要怎么做