调试程序的时候,在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 问题分析的更多相关文章

  1. 执行dlsym()函数出现: undefined symbol

    执行dlsym()函数出现: undefined symbol 执行dlsym()函数出现: undefined symbol 当这个问题出现的时候,可以检查产生so文件的cpp文件,看看是否已经用  ...

  2. 解决方案:Resharper对系统关键字提示‘can not resolve symbol XXX’,并且显示红色,但是编译没有问题

    环境:Visual studio 2013 community update 4 + Resharper 8.2 + Windows 7现象:我的C#工程编译没有问题, 但是在代码编辑器中系统关键字显 ...

  3. 【转载】解决方案:Resharper对系统关键字提示‘can not resolve symbol XXX’,并且显示红色,但是编译没有问题

    环境:Visual studio 2013 community Update 4 + Resharper 8.2 + Windows 7 现象: 我的C#工程编译没有问题, 但是在代码编辑器中系统关键 ...

  4. 关于intelliJ idea创建servlet提示cannot resolve symbol‘servlet’的问题

    在刚刚折腾idea的时候会出现一系列的问题,就比如创建Servlet的时候,编辑器提示cannot resolve symbol'servlet'.出现这样的问题是因为在第一次用idea的时候还没有配 ...

  5. ActionBar之style出现Cannot resolve symbol 'Theme' 错误

    今天 2014/03/08 00:49 刚刚升级 android studio 到了 0.5.0 版本,修复了许多 bug,包含当前这个问题,之前一直困扰我很久,莫名奇妙的提示主题样式找不到,无法解析 ...

  6. Android Studio --“Cannot resolve symbol” 解决办法

    鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用. 多半是因为 Androi ...

  7. 你绝对想不到R文件找不到(cannot resolve symbol R)的原因

    你绝对想不到R文件找不到(cannot resolve symbol R)的原因 最近在项目开发中 Android Studio 的 R 文件突然找不到了.IDE 中出现了以下提示 cannot re ...

  8. IntelliJ IDEA下Cannot resolve symbol XXX的解决方法

    Idea导入maven项目后,运行能通过,但是打开一些类后,会出现Cannot resolve symbol XXX的错误提示. 考虑几种可能: 1.JDK版本,设置JDK和Maven的JDK版本. ...

  9. Java 关于cannot resolve symbol 'log'报错问题

    我用的是IDEA,报错的内容是:cannot resolve symbol 'log' 如图所示: 解决方法: 1.安装插件:Settings→Plugins,输入lom回车: 2.然后选择Insta ...

随机推荐

  1. div不换行

    三种方法: 1.float <div class="div1">123</div> <div class="div2">45 ...

  2. 【SQL】从待选项中随机选一个

    由于SQL Server没有数组类型,所以在面对“从若干待选项中选一个”这种需求时,往往要采取变通办法,比如弄个‘a|b|c’这样的字符串然后对字符串进行处理:又或者把待选项塞进一个临时表,然后把问题 ...

  3. 使用gitee(码云)创建项目

    注册登录 https://gitee.com/ 也可以直接用oschina的帐号. 创建项目 点击"+"号,创建项目. 执行git命令 本机创建一个你的这个项目目录,init后不要 ...

  4. python爬虫爬取腾讯招聘信息 (静态爬虫)

    环境: windows7,python3.4 代码:(亲测可正常执行) import requests from bs4 import BeautifulSoup from math import c ...

  5. _bzoj2049 [Sdoi2008]Cave 洞穴勘测【LCT】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2049 裸的LCT,保存LCT模版.说一下出bug的几个地方叭: ①,rotate时,没有判断 ...

  6. [ZPG TEST 109] 兔子跳跃【构图】

    兔子跳跃 (jumping.pas/c/cpp) [问题描述] 兔子常常感到孤独,所以当他们决定出去走走,去见见他们的朋友,他们跳的很快. Iris正走在一条无限长的直线道路上.这条道路上点的编号.. ...

  7. 449 Serialize and Deserialize BST 序列化和反序列化二叉搜索树

    详见:https://leetcode.com/problems/serialize-and-deserialize-bst/description/ C++: /** * Definition fo ...

  8. 框架系列~OwinSelfHost自宿主的使用

    在进入mvc5之后,OWIN变更很主推,很热,关于OWIN的文章也就出来了,下面阅读了dudu和一些园友的文章,自己也做了一个SelfHost的程序,测试了一下,感觉还是比较有Core的风格,可能也是 ...

  9. .NET通过字典给类赋值

    /// <summary> /// /// </summary> /// <typeparam name="T"></typeparam& ...

  10. Windows API函数大全一

    1. API之网络函数             WNetAddConnection 创建同一个网络资源的永久性连接             WNetAddConnection2 创建同一个网络资源的连 ...