• BcUnit 交叉编译


    记录一下 BcUnit 在PC上编译及交叉编译情况,这个是编译 bctoolbox 的依赖库。


    一、下载

    这里使用的是 release 5.1 版本。
    https://github.com/BelledonneCommunications/bcunit
    下载:
    git clone https://github.com/BelledonneCommunications/bcunit.git
    切换一下分支:
    git checkout release/5.1

    二、Ubuntu编译

    1、安装依赖包

    2、编译及安装

    这里打算将编译出来的库放在上级目录下的target_pc目录。
    在克隆下来的工程根目录创建文件夹build_dir,并且在里面创建编译脚本。
    build.sh:

    #!/bin/sh
    
    #编译工具
    COMPILER_CC=gcc
    
    #安装位置
    COMPILER_PREFIX=$(pwd)/../../target_pc
    
    #依赖库位置
    COMPILER_LIB=$(pwd)/../../target_pc
    
    cmake -DCMAKE_INSTALL_PREFIX=$COMPILER_PREFIX \
          -DCMAKE_C_COMPILER=$COMPILER_CC \
          ..
    
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在脚本里面制定了编译安装的指定目录,所使用的gcc

    执行。

    3、编译结果

    会生成头文件和动态、静态库。
    在这里插入图片描述

    三、交叉编译

    1、安装依赖包

    交叉编译主要的点在于要配置交叉编译工具(gcc)以及指定编译平台的依赖库(sysroot)。

    2、编译及安装

    这里打算将编译出来的库放在上级目录下的target_cross目录。
    在克隆下来的工程根目录创建文件夹build_dir,并且在里面创建编译脚本。
    build.sh:

    #!/bin/sh
    
    #编译工具路径
    QL_CROSSTOOLS=/opt/ql_crosstools/ql-ag550qcn-le20-gcc820-v1-toolchain/gcc/usr/bin/arm-oe-linux-gnueabi
    
    #SYSROOT路径
    QL_SYSROOT=/home/hrx/work/ql-sysroots
    
    #编译工具
    COMPILER_CC=$QL_CROSSTOOLS/arm-oe-linux-gnueabi-gcc
    #编译选项
    COMPILER_FLAGS="-march=armv7-a -marm -mfpu=neon -mfloat-abi=hard"
    
    #安装位置
    COMPILER_PREFIX=$(pwd)/../../target_cross
    
    #依赖库位置
    COMPILER_LIB=$(pwd)/../../target_cross
    
    cmake -DCMAKE_SYSTEM_NAME=Linux \
          -DCMAKE_INSTALL_PREFIX=$COMPILER_PREFIX \
          -DCMAKE_C_COMPILER=$COMPILER_CC \
          -DCMAKE_C_FLAGS="$COMPILER_FLAGS" \
          -DCMAKE_SYSROOT=$QL_SYSROOT \
          -DCMAKE_PREFIX_PATH="$COMPILER_LIB" \
          ..
    
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    3、编译结果

    会生成头文件和动态、静态库。
    在这里插入图片描述


    广告插入:
    下面是一个领外卖券、打车券的公众号,如果恰有需要可以关注一下。

  • 相关阅读:
    全志R128芯片RTOS调试指南
    记IIS升级迁移之旅
    定积分的应用:几何应用与物理应用
    Canvas图形编辑器-数据结构与History(undo/redo)
    门口通畅家运顺
    千亿IT运维市场,产品要凭实力说话
    Linux——ssh登录很慢解决方法
    Nacos注册中心1-nacos源码环境搭建
    webpack-clean-plugin webpack-css-plugin 定义全局参数 webpack-压缩css代码
    Day39 JMeter的使用
  • 原文地址:https://blog.csdn.net/lang523493505/article/details/126728163