openwrt编译出错:Package xxx is missing dependencies for the following libraries:libjson-c.so.2
在某个package的程序,添加了json-c库的代码, 在Makefile中添加-ljson-c, 编译却出错了。
解决方式:
package xxx中的Makefile在DEPENDS中加上 libjson-c
DEPENDS := +libjson-c
注意不是+json-c, 可以通过package下搜索*json-c*
会发出有package/libs/libjson-c, 所以是+libjson-c
ARM开发
-
ARM开发环境与工具
ARM开发主要依赖于集成开发环境(IDE)和工具链。例如:- ADS(ARM Developer Suite) :这是ARM公司推出的一套完整的集成开发工具,支持从代码编写到调试的全流程开发。ADS包括命令行工具(如armcc、armcpp)、GUI开发环境(如CodeWarrior IDE)、调试器(如AXD)以及实时库等。
- IAR EWARM:这是另一款流行的ARM开发工具,支持C/C++语言的编译和调试,同时提供丰富的文档和在线帮助。
- Linux下的ARM开发环境:可以通过安装交叉编译器(如arm-none-linux-gnueabi-gcc)来模拟ARM架构,从而进行嵌入式系统开发。
-
ARM开发文档与资源
ARM官方提供了丰富的文档和学习资源,包括:- ARM Infocenter:提供ARM处理器架构、软件接口、标准支持等基础信息。
- ABI(Application Binary Interface)文档:详细描述了ARM架构的标准接口。
- 在线文档与社区支持:ARM中国网站提供从内核下载到技术手册的全面资源。
- 书籍与教程:例如《ARM嵌入式项目开发三位一体实战精讲》《ARM应用系统开发详解》等书籍,涵盖了从基础知识到项目实例的全面内容。
-
ARM开发流程与实践
ARM开发涉及多个步骤,包括代码编写、编译、链接、调试和部署:- 代码编写:可以使用C/C++或汇编语言编写源代码。
- 编译与链接:通过armcc、armcpp等工具将源文件编译为ELF格式的目标文件,再通过armlink生成最终的ROM代码。


- 调试与测试:利用AXD或CodeWarrior IDE进行程序调试,确保代码运行正确。
- 部署与优化:将最终代码部署到目标设备,并通过性能分析工具进行优化。
-
特定领域的ARM开发
ARM架构广泛应用于嵌入式系统、Linux操作系统、图形处理等领域:- 嵌入式Linux开发:需要搭建交叉编译环境,并移植Linux内核以适配ARM硬件。
- Android ARM开发:配置Android ARM环境后,可以进行应用开发和调试。
- 图形处理与Mali GPU:ARM Mali GPU是图形处理的重要部分,相关开发资源包括OpenGL ES Emulator和图形调试器。
-
开源社区与生态支持
ARM生态系统中存在许多开源项目和社区支持:- 开源社区资源:如华为开源计算平台提供的ARM优化资源。
- GitHub与开源工具链:开发者可以利用开源工具链(如GNU Toolchain)进行开发。
-
学习与培训资源
ARM提供了多种学习和培训资源:- 在线课程与虚拟培训:由经验丰富的工程师提供,帮助开发者深入理解ARM技术。
- 实验指导书与教程:例如金陵科技学院的《ARM应用技术实验指导书》,提供了详细的实验步骤和报告格式。
综上,ARM开发资料涵盖了从基础理论到实际应用的全面内容,开发者可以根据需求选择合适的工具、文档和资源进行学习和实践。无论是初学者还是高级开发者,都可以通过这些资源提升自己的技能并完成复杂的ARM项目开发。
本文介绍了解决OpenWRT编译时遇到的错误,即包依赖缺失问题。通过在Makefile的DEPENDS中正确添加libjson-c依赖,解决了因json-c库引起的编译失败。文章强调了依赖库名称的重要性,并提供了查找正确依赖库的方法。
1269

被折叠的 条评论
为什么被折叠?



