编译mbedtls

编译mbedtlswolfssl 是 GPL2 0 无法商用 只能尝试 mbedtls 这个是免费开源的 下载地址 https gitee com Kono2019 mbedtls gitgithub 经常上不了 gitee 比较方便 下载完了 怎么编译呢 我需要编译 riscv 的 一开始通过 cmake DCMAKE C COMPILER riscv nuclei elf gcc 会编一个 test 的程序 但是很快报 error unrecognized rdynamic

wolfssl是GPL2.0,无法商用,只能尝试mbedtls,这个是免费开源的。

下载地址:https://gitee.com/Kono2019/mbedtls.git

github经常上不了,gitee比较方便。

下载完了,怎么编译呢,我需要编译riscv的。

一开始通过cmake -DCMAKE_C_COMPILER=riscv-nuclei-elf-gcc,会编一个test的程序,但是很快报“error: unrecognized command line option ‘-rdynamic’”,说我的gcc不支持dynamic,折腾了半天也没解决。

然后直接export CC=riscv-nuclei-elf-gcc 

make

编起来了,但报了一些错误,这些错误都可以通过配置include/mbedtls/config.h解决:

我修改是这样的:

注释掉了:

MBEDTLS_FS_IO,

MBEDTLS_NET_C,

MBEDTLS_PSA_CRYPTO_STORAGE_C,

MBEDTLS_PSA_ITS_FILE_C,

MBEDTLS_TIMING_C。

定义了:

MBEDTLS_NO_PLATFORM_ENTROPY。

顺利编译通过。

然后make install。

后续:        

        当我把编译出的三个Lib库放到SDK中,link的时候却报错:

编译mbedtls

 原来我的sdk设置的arch和abi是RISCV_ARCH=rv32imac RISCV_ABI=ilp32,是不支持double float的,但是我在编译mbedtls的时候并没有指定arch和abi,默认是rv32imfd好像,所以不匹配,

于是重新编译mbedtls,折腾了半天,mbedtls的Makefile分散在多个目录下,而且有点不光要改CFLAGS还得改LDFLAGS,反正就是指定-march=rv32imac -mabi=ilp32就行。最后编译成功,把新生成的库放到sdk中,编译link成功!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208625.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:08
下一篇 2026年3月19日 上午11:09


相关推荐

  • Delphi xe5 StyleBook的用法(待续)

    Delphi xe5 StyleBook的用法(待续)首先要在FORM里拖进来一个StyleBook1,然后在Form里设置属性,记住一定要在单击form,在OBjectInspector里设置StyleBook [StyleBook1].下一个属性StyleName[ ] 好像是多余的,我多次都把StyleName[StyleBook1],但是没有效果。在其他控件下设置StyleLookup就可以了,单击选择。styleName就

    2022年7月18日
    16
  • c语言位运算符解释_c语言逻辑关系运算符

    c语言位运算符解释_c语言逻辑关系运算符      位操作是程序设计中对位模式按位或二进制数的一元和二元操作,在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。按位取反:~’~’是一元运算符,用来对一个二进制数按位取反,把0变为1,把1变为0。如下例子所示。…

    2022年10月4日
    5
  • 免费开源网站源码_内容网站源码

    免费开源网站源码_内容网站源码前言最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于

    2022年8月7日
    8
  • 【matplotlib】/【plt】中文设置为宋体,英文为Time New Roman

    【matplotlib】/【plt】中文设置为宋体,英文为Time New Romanpython 中用 matplotlib 库画图时 把中文设置为宋体 英文设置为 TimeNewRoman 有时候还需要显示公式 设置方法如下 importmatplo pyplotaspltf font family serif font size 18 mathtext fontset stix font s

    2026年3月19日
    3
  • 使用EF框架

    使用EF框架1 创建一个控制台项目 2 创建一个 EF 框架

    2026年3月18日
    2
  • Java 数组转 List 的 4 种方式

    Java 数组转 List 的 4 种方式目录前言【一】最常见方式(未必最佳)【二】数组转为List后,支持增删改查的方式【三】通过集合工具类Collections.addAll()方法(最高效)问题解答总结前言本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。【一】最常见方式(未必最佳)通过Arrays.asList(strArray)方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。关键代码:Listlist=Arrays.asList(

    2022年8月23日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号