码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CommonAPI SomeIP Runtime 交叉编译


    记录一下CommonAPI SomeIP Runtime在PC上编译及交叉编译情况。


    一、下载

    这里使用的是3.2.0版本。
    https://github.com/COVESA/capicxx-someip-runtime
    下载:
    git clone https://github.com/COVESA/capicxx-someip-runtime.git

    二、Ubuntu编译

    1、安装依赖包

    由于编译依赖于 vsomeip的库,所以再此之前要先编译vsomeip。
    参考:https://blog.csdn.net/lang523493505/article/details/126413912

    2、编译及安装

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

    #!/bin/sh
    
    #编译工具
    COMPILER_CC=gcc
    COMPILER_CXX=g++
    
    #安装位置
    COMPILER_PREFIX=$(pwd)/../../target_pc
    
    #boost、commonapi-core、vsomeip3依赖库位置
    COMPILER_LIB=$(pwd)/../../target_pc
    
    cmake -DCMAKE_INSTALL_PREFIX=$COMPILER_PREFIX \
          -DCMAKE_C_COMPILER=$COMPILER_CC \
          -DCMAKE_CXX_COMPILER=$COMPILER_CXX \
          -DCMAKE_PREFIX_PATH="$COMPILER_LIB" \
          -DUSE_INSTALLED_COMMONAPI=ON \
          ..
    
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

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

    执行。

    3、编译结果

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

    三、交叉编译

    1、安装依赖包

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

    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_SYSROOT="--sysroot=$QL_SYSROOT"
    
    #编译工具
    COMPILER_CC=$QL_CROSSTOOLS/arm-oe-linux-gnueabi-gcc
    COMPILER_CXX=$QL_CROSSTOOLS/arm-oe-linux-gnueabi-g++
    #编译选项
    COMPILER_FLAGS="-march=armv7-a -marm -mfpu=neon -mfloat-abi=hard"
    
    #安装位置
    COMPILER_PREFIX=$(pwd)/../../target_cross
    
    #boost、commonapi-core、vsomeip3依赖库位置
    COMPILER_LIB=$(pwd)/../../target_cross
    
    cmake -DCMAKE_SYSTEM_NAME=Linux \
          -DCMAKE_INSTALL_PREFIX=$COMPILER_PREFIX \
          -DCMAKE_C_COMPILER=$COMPILER_CC \
          -DCMAKE_CXX_COMPILER=$COMPILER_CXX \
          -DCMAKE_C_FLAGS="$COMPILER_FLAGS $COMPILER_SYSROOT" \
          -DCMAKE_CXX_FLAGS="$COMPILER_FLAGS $COMPILER_SYSROOT" \
          -DCMAKE_FIND_ROOT_PATH=$QL_SYSROOT \
          -DCMAKE_PREFIX_PATH="$COMPILER_LIB" \
          -DUSE_INSTALLED_COMMONAPI=ON \
          ..
    
    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
    • 30
    • 31
    • 32
    • 33
    • 34
    3、编译结果

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

  • 相关阅读:
    【软考系统架构设计师】2023年系统架构师冲刺模拟习题之《数据库系统》
    10月12日,每日信息差
    Navicat将视图结构导出为可运行SQL文件
    nginx 配置|禁止访问规则
    《AI新时代:大一新生如何快速入门IT专业?》
    数据可视化设计经验分享:10分钟做出炫酷数据大屏
    企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图
    基于JAVA企业公开招聘系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    性能测试包含哪些内容?
    Spring学习|Spring配置:别名、import、依赖注入:构造器注入、Set方式注入(重点)、拓展方式注入
  • 原文地址:https://blog.csdn.net/lang523493505/article/details/126439685
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号