【makefile】symbol <函数> : can't resolve symbol 问题分析
调试程序的时候,在linux编译器上可以编译通过,但是编译生成的firmware烧录到板子上的后出现以下异常:
  
can't resolve symbol,无法解析元素符号。
review一下code,定义setBuappValue这个api的.c文件的部分makefile如下
HI_PKG_NAME = odlapi
HI_APP_NAME = libhi_odlapi.so
HI_APP_TYPE = so
可以看到这个api实际上会生成libhi_odlapi.so这个库。编译没有问题是因为C逻辑语法没有问题,但是在其他module中有调用setBuappValue,getBuappValue这两个api,但是没有将libhi_odlapi.so这个库链过去。所以在调用这个api的其他的module中的function无法实现,出现以上问题。
解决办法,只需要在调用此api的.c文件的makefile文件链上libhi_odlapi.so,问题解决
HI_LDFLAGS+=-lhi_odlapi
tips:为什么刚开始学习makefile是,写的.c文件里可以直接调用printf等一些common的api呢,因为在预编译阶段包含进去的“stdio.h”里面,其实系统把对这些函数的实现都做到名字为libc.so.6的库文件中去了,在没有特别指定时,gcc会到系统默认的路径“/user/lib”下面进行查找,并且链接到lib.so.6库函数中去,这样就能实现printf函数了,这也就是链接的作用。
【makefile】symbol <函数> : can't resolve symbol 问题分析的更多相关文章
- 执行dlsym()函数出现: undefined symbol
		
执行dlsym()函数出现: undefined symbol 执行dlsym()函数出现: undefined symbol 当这个问题出现的时候,可以检查产生so文件的cpp文件,看看是否已经用 ...
 - 解决方案:Resharper对系统关键字提示‘can not resolve symbol XXX’,并且显示红色,但是编译没有问题
		
环境:Visual studio 2013 community update 4 + Resharper 8.2 + Windows 7现象:我的C#工程编译没有问题, 但是在代码编辑器中系统关键字显 ...
 - 【转载】解决方案:Resharper对系统关键字提示‘can not resolve symbol XXX’,并且显示红色,但是编译没有问题
		
环境:Visual studio 2013 community Update 4 + Resharper 8.2 + Windows 7 现象: 我的C#工程编译没有问题, 但是在代码编辑器中系统关键 ...
 - 关于intelliJ idea创建servlet提示cannot resolve symbol‘servlet’的问题
		
在刚刚折腾idea的时候会出现一系列的问题,就比如创建Servlet的时候,编辑器提示cannot resolve symbol'servlet'.出现这样的问题是因为在第一次用idea的时候还没有配 ...
 - ActionBar之style出现Cannot resolve symbol 'Theme' 错误
		
今天 2014/03/08 00:49 刚刚升级 android studio 到了 0.5.0 版本,修复了许多 bug,包含当前这个问题,之前一直困扰我很久,莫名奇妙的提示主题样式找不到,无法解析 ...
 - Android Studio --“Cannot resolve symbol” 解决办法
		
鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用. 多半是因为 Androi ...
 - 你绝对想不到R文件找不到(cannot resolve symbol R)的原因
		
你绝对想不到R文件找不到(cannot resolve symbol R)的原因 最近在项目开发中 Android Studio 的 R 文件突然找不到了.IDE 中出现了以下提示 cannot re ...
 - IntelliJ IDEA下Cannot resolve symbol XXX的解决方法
		
Idea导入maven项目后,运行能通过,但是打开一些类后,会出现Cannot resolve symbol XXX的错误提示. 考虑几种可能: 1.JDK版本,设置JDK和Maven的JDK版本. ...
 - Java 关于cannot resolve symbol 'log'报错问题
		
我用的是IDEA,报错的内容是:cannot resolve symbol 'log' 如图所示: 解决方法: 1.安装插件:Settings→Plugins,输入lom回车: 2.然后选择Insta ...
 
随机推荐
- markdown(语法)入门学习:
			
原文链接:https://segmentfault.com/a/1190000010223222#articleHeader9 1.标题 注:#后面保持空格 # h1 ## h2 ### h3 ### ...
 - 洛谷P4216 [SCOI2015]情报传递(树剖+主席树)
			
传送门 我们可以进行离线处理,把每一个情报员的权值设为它开始收集情报的时间 那么设询问的时间为$t$,就是问路径上有多少个情报员的权值小于等于$t-c-1$ 这个只要用主席树上树就可以解决了,顺便用树 ...
 - Educational Codeforces Round 52 (Rated for Div. 2) F. Up and Down the Tree 树型DP
			
题面 题意:给你一棵树,你起点在1,1也是根节点,你每次可以选择去你子树的某个叶子节点,也可以选择,从叶子节点返回距离不超过k的一个根, 也就是说,你从1开始,向下跳,选择一个叶子(就是没有子树的节点 ...
 - 用set和shopt设置bash选项
			
1.set命令 -o打开选项,+o关闭选项#set -o //显示选项设置#set -o noclobber //打开该选项,重定向将覆盖已存在的文件#set +o noclobber //关闭该选项 ...
 - Intellij IDEA 快捷键整理(史上最全)
			
[常规] Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关 ...
 - 【BZOJ3309】DZY Loves Math(线性筛)
			
题目: BZOJ 3309 分析: 首先,经过一番非常套路的莫比乌斯反演(实在懒得写了),我们得到: \[\sum_{T=1}^n \sum_{d|T}f(d)\mu(\frac{T}{d})\lfl ...
 - AJPFX关于TreeSet集合的介绍
			
需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台.分析:1.创建键盘录入对象: 2.创建TreeSet集合,使用匿名内部类实现Compa ...
 - Redis相关问题收集
			
问题一.强制关闭Redis快照导致不能持久化 MISCONF Redis is configured to save RDB snapshots, but is currently not able ...
 - JSP(Java Servlet Page)
			
一.简介 HTML HTML擅长显示一个静态的网页,但是不能调用Java程序. Servlet Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. 我们希望创建 ...
 - Node.js(二)常用的系统模块
			
http模块 第一章已经介绍了 node.js 的模块都可以传一个回调函数 回调函数支持两个参数 error , data let fs = require('fs'); fs.readFile( ...