AG35学习笔记(二):安装编译SDK、CMakeLists编译app、Scons编译server

目录

  • 一、概述
  • 二、安装SDK
    • 2.1 网盘SDK - 权限不够
    • 2.2 bj41 - 需要交叉source
    • 2.3 mullen - relocate_sdk.py路径有误
  • 三、编译SDK
    • 3.1 /bin/sh: 1: gcc: not found
    • 3.2 curses.h: No such file or directory
  • 四、CMakeLists - 编译app
    • 4.1 cmake - 项目构建
    • 4.2 make - 项目编译
    • 4.3 遇到的问题
      • 4.3.1 BJ41 - 创建软链接
      • 4.3.2 BJ41 - CMake was unable to find a build program
      • 3.3.3 mullen - string.h: No such file or directory
  • 五、Scons - 编译Server
    • 5.1 bj41

一、概述

二、安装SDK

2.1 网盘SDK - 权限不够

从移远给的网盘里下载了AG35的SDK。根据开发手册,使用source ql-ol-crosstool/ql-ol-crosstool-env-init来安装SDK,结果提示错误:
在这里插入图片描述
使用sudo,又提示找不到命令:
在这里插入图片描述
以root用户登录,执行完再退出
在这里插入图片描述
参考链接:sudo:source:找不到命令。

2.2 bj41 - 需要交叉source

从gitlab上获取了项目的SDK,source失败:
在这里插入图片描述
第二次source成功,是因为我在SDK内source了一下:在这里插入图片描述
有时候我在SDK内source失败,在app内source一下,就可以了。为什么交叉source一下,就正常了,原因暂不知道。

2.3 mullen - relocate_sdk.py路径有误

其他人上传的SDK,我从gitlab上拉取后,安装失败:
在这里插入图片描述
经过查找,是因为SDK内ql-ol-crosstool目录下的relocate_sdk.py内容有误:
在这里插入图片描述
手动修改为自己的路径,再次source就是ok的了。
但是我自己在本地测试,修改这个路径,比如去掉guanyuan中间的u:
在这里插入图片描述
结果source也是ok的。source完,查看被修改为正确的包含guanyuan的路径。
为什么gitlab拉取的sdk,要自己修改路径,这个原因暂不知道。

三、编译SDK

3.1 /bin/sh: 1: gcc: not found

在这里插入图片描述
gcc -v测试发现没有安装,使用 sudo apt install gcc 进行安装即可。

3.2 curses.h: No such file or directory

在这里插入图片描述
使用sudo apt-get install libncurses5-dev进行安装即可。
更多参考:ncurses库的介绍与安装。

四、CMakeLists - 编译app

关于CMakeLists的使用,可以先通过这两个链接,有个基本了解:

  1. CMake 简易入门教程
    熟悉Cmake的语法,编译单个main.c打印 hello word
    将 hello.c 编译为动态库和静态库,在main.c中调用库打印
    推荐了文档和视频两个资料
  2. CMakeLists.txt的超傻瓜手把手教程

4.1 cmake - 项目构建

首先切换到 build 文件夹,命令:cd build​
执行构建命令:cmake …​

cd build
cmake ..

在这里插入图片描述

4.2 make - 项目编译

执行编译命令:cmake --build .​
在这里插入图片描述

4.3 遇到的问题

4.3.1 BJ41 - 创建软链接

在这里插入图片描述

4.3.2 BJ41 - CMake was unable to find a build program

在这里插入图片描述
出现这个错误的原因是,ubuntu没有安装make(参考)。安装后即可正常

3.3.3 mullen - string.h: No such file or directory

在这里插入图片描述
在bj41中也出现类似情况:
在这里插入图片描述
查看其实是因为cross root path错误,修改CMakeLists中的路径后,即可编译正确。

五、Scons - 编译Server

未详细阅读,不区分顺序

添加链接描述
添加链接描述
添加链接描述

5.1 bj41

在这里插入图片描述
多出一个out文件夹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/143274.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机图像处理:图像轮廓

图像轮廓 图像阈值分割主要是针对图片的背景和前景进行分离,而图像轮廓也是图像中非常重要的一个特征信息,通过对图像轮廓的操作,就能获取目标图像的大小、位置、方向等信息。画出图像轮廓的基本思路是:先用阈值分割划分为两类图…

如何修复wmvcore.dll缺失问题,wmvcore.dll下载修复方法分享

近年来,电脑使用的普及率越来越高,人们在日常生活中离不开电脑。然而,有时候我们可能会遇到一些问题,其中之一就是wmvcore.dll缺失的问题。wmvcore.dll是Windows平台上用于支持Windows Media Player的动态链接库文件,如…

命运2中文wiki搭建记录——MediaWiki安装与初设置

命运2中文wiki搭建记录 本文转自我的博客,原文地址——>命运2中文wiki搭建记录——MediaWiki安装与初设置 可能是出于闲的发霉,想自己搭建一个命运2wiki。 因为bilibili上的命运2Bwiki也全是自己搭的。指路——>命运2Bwiki 但是当自己实际上手Me…

windows系统删除网络适配器

此电脑,右键,管理 打开本机设备管理器 其中找到网络适配器: 选中要删除的,右键点击“卸载设备”,点击卸载即可完成。

控价与数据分析的关系

品牌在做线上控价时,会面对许多的数据,如店铺数据、行业数据,当这些数据仅仅只是拿来做监测低价输出低价报表使用,是没有发挥其最大作用的,因为商品链接的字段较丰富,涉及的内容会包含销量、评价量、促销信…

Linux:理解进程的多种状态

文章目录 理解状态运行状态阻塞状态挂起状态Linux系统下的进程状态的解析状态的查看 本篇总结的是进程的多种状态 对于进程的状态理解,在教材上通常是有下面的思维模式图 那么如何理解上面图片中的内容? 理解状态 如何理解状态?其实理解状…

PyCharm中使用pyqt5的方法2-2

1.2 是否下载成功 按照以上步骤安装了“pyqt5”、“pyqt5-tools”模块和“pyqt5designer”模块后,可以打开保存这三个模块的路径,找到其对应的文件夹,即可验证是否下载成功。 获取PyCharm保存下载模块路径的方法是,在PyCharm界面…

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误

文章目录 1. 复现错误2. 分析错误3. 解决问题3.1 下载Hadoop3.2 配置Hadoop3.3 下载winutils3.4 配置winutils 1. 复现错误 今天在运行同事给我的项目,但在项目启动时,报出如下错误: java.io.FileNotFoundException: java.io.FileNotFoundEx…

【AI视野·今日NLP 自然语言处理论文速览 第四十二期】Wed, 27 Sep 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 27 Sep 2023 Totally 50 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Attention Satisfies: A Constraint-Satisfaction Lens on Factual Errors of Language Models Authors Mert …

苹果 CMS 原生 Java 白菜影视 App 源码【带打包教程】

苹果 CMS 原生 Java 白菜影视 App 源码是一款功能强大的影视应用程序,支持画中画、投屏、点播、播放前广告和支持普通解析等多种功能。与萝卜 App 源码相比,该套源码更加稳定,且拥有画中画投屏和自定义广告等功能,提高了安全性。 …

河北吉力宝以步力宝健康鞋引发的全新生活生态商

在当今瞬息万变的商业世界中,成功企业通常都是那些不拘泥于传统、勇于创新的先锋之选。河北吉力宝正是这样一家企业,通过打造一双步力宝健康鞋,他们以功能性智能科技穿戴品为核心,成功创造了一种结合智能康养与时尚潮流的独特产品…

Leetcode算法入门与数组丨5. 数组二分查找

文章目录 1 二分查找算法2 二分查找细节3 二分查找两种思路3.1 直接法3.2 排除法 task09task10 1 二分查找算法 二分查找算法是一种常用的查找算法,也被称为折半查找算法。它适用于有序数组的查找,并通过将待查找区间不断缩小一半的方式来快速定位目标值…

Redis 线程模式

Redis 是单线程吗? Redis 单线程指的是 [接收客户端请求 -> 解析请求 -> 进行数据读写操作 -> 发送数据给客户端] 这个过程是由一个线程 (主线程) 来完成的,这也是常说的 Redis 是单线程的原因。 但是 ,Redis 程序不是单线程的&am…

VB从资源文件中播放wav音乐文件

Private Const SND_SYNC &H0 Private Const SND_MEMORY &H4 API函数 Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long 音乐效果请“单击” Pr…

美国零售电商平台Target,值得入驻吗?如何入驻?

Target 是美国最大的零售商之一,在品牌出海为大势所趋的背景下,它在北美电商中的地位节节攀升。Target 商店在众多垂直领域提供各种价格实惠的自有品牌,吸引越来越多的跨境商家入驻,如美妆、家居、鞋服、日用百货等,随…

在比特币上支持椭圆曲线 BLS12–381

通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比,BLS12-381 的安全性明显更高,并且安全目标是 128 位。 所有其他区块链,例如 Zcash 和以太坊,都必须通过硬分叉才能升…

Android Studio 创建项目不自动生成BuildConfig文件

今天在AS上新建项目发现找不到BuildConfig文件,怎么clear都不行。通过多方面查找发现原来gradle版本不同造成的,Gradle 8.0默认不生成 BuildConfig 文件。 如上图,8.0版本是没有source文件夹 上图是低于8.0版本有source文件夹 针对这个问题&…

Anchors

这是源代码定义的anchors概念: 实现过程: 假如有一张500500的图片,那么经过第一步深度卷积网络之后(4次池化),最终就会变成一个3232的特征: 在开源代码实现里面: 所以经过卷积完之后…

D. A Simple Task

Problem - D - Codeforces 思路:这个题就是求环的数量,通过数据范围的大小,我们可以想到用状压dp来做,因为只有19个点,我们可以将环的路径进行状态压缩,用一个二进制数表示环,当某一位为1时表示…

3、组件和容器

3、组件和容器 Frame 万物皆对象,窗口也是一个对象,这里Frame也是一个对象,我们可以看到Frame是可以new出来的,它是属于java.awt包下的 学习中想要知道这个类怎么用可以采用查JDK帮助文档,这里推荐查看源码&#xff0…