linux 交叉编译 C和C++

2023-05-16

linux 交叉编译 C和C++

    • 安装编译器
    • Cmake中选择编译器
    • 编译运行
    • 注意

在ubuntu 中搭建arm交叉编译环境的过程记录。

安装编译器

安装aarch64-linux-gnu编译器,可以参考
参考链接
安装完成后,可以到/usr/arm-linux-gnueabi目录下查看。
gcc-aarch64-linux-gnu -v## 查看安装版本

Cmake中选择编译器

  • 设置环境
    可以放在对应的build.sh中。
export CC=/usr/bin/aarch64-linux-gnu-gcc
export CXX=/usr/bin/aarch64-linux-gnu-g++
  • Cmake中参数设置
set (CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
set (CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
project(main CXX C) # 这里可以不写CXX和C,但不能只写一个,否则只会编译指定语言
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")  #设置c++的编译选项
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")  #设置c的编译选项
aux_source_directory(./src dir_src) #指定路径,并产生变量${dir_src}
add_executable(main ${dir_src}) #指定代码目录

编译运行

正常cmake和make就可以了。

注意

使用aarch64-linux-gnu非默认编译器时,如果没有找到对应的链接库,需要手动添加路径或者将链接库文件拷贝到/usr/arm-linux-gnueabi/include 目录下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 交叉编译 C和C++ 的相关文章

  • 如何从“git log”中查看 Git 中的特定版本?

    My git log显示为 enter code here git trial git log commit 4c5bc66ae50780cf8dcaf032da98422aea6e2cf7 Author king lt email pro
  • UDP 广播发送失败:在 Linux 2.6.30 上“网络无法访问”

    我用udp广播写了一个程序 代码段如下 struct sockaddr in broadcast addr socklen t sock len sizeof broadcast addr bzero broadcast addr sock
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • 如何使用ffmpeg重叠和合并多个音频文件?

    我正在尝试将多个音频文件合并到一个文件中 但我可以使用以下命令来连接 而不是连接 ffmpeg v debug i file1 wav i file2 wav i file3 wav filter complex 0 0 concat n
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • Linux 中的电源管理通知

    在基于 Linux 的系统中 我们可以使用哪些方法 最简单的方法 来获取电源状态更改的通知 例如 当计算机进入睡眠 休眠状态等时 我需要这个主要是为了在睡眠前保留某些状态 当然 在计算机唤醒后恢复该状态 您只需配置即可获得所有这些事件acp
  • 在 shell 脚本中查找和替换

    是否可以使用 shell 在文件中搜索然后替换值 当我安装服务时 我希望能够在配置文件中搜索变量 然后在该值中替换 插入我自己的设置 当然 您可以使用 sed 或 awk 来完成此操作 sed 示例 sed i s Andrew James
  • 是否从页面缓存中的脏页面进行文件读取?

    当字节写入文件时 内核不会立即将这些字节写入磁盘 而是将这些字节存储在页缓存中的脏页中 回写缓存 问题是 如果在脏页刷新到磁盘之前发出文件读取 则将从缓存中的脏页提供字节 还是首先将脏页刷新到磁盘 然后进行磁盘读取以提供字节 将它们存储在进
  • 如何确保 numpy BLAS 库可用作动态加载库?

    The theano安装文档 http www deeplearning net software theano install html troubleshooting make sure you have a blas library指
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • Linux 上的 Python 3.6 tkinter 窗口图标错误

    我正在从 Python GUI 编程手册 学习 Python GUI 某项任务要求我通过将以下代码添加到我的配方中来更改窗口图标 Change the main windows icon win iconbitmap r C Python3
  • 如何获取 linux 实用程序 tail 的源代码?

    这个命令确实非常有用 但是我可以在哪里获取源代码以查看内部发生的情况 thanks tail 实用程序是 Linux 上 coreutils 的一部分 源压缩包 ftp ftp gnu org gnu coreutils coreutils
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • gethostbyname() 或 getnameinfo() 如何在后台工作?

    How gethostbyname or getnameinfo 在后台工作 include
  • 如何在我的 AWS EC2 实例上安装特定字体?

    我有一个在 AWS EC2 Amazon Linux Elastic Beanstalk 实例上运行的 Python 应用程序 该实例需要某些特定字体才能生成输出 并且想知道如何在部署或实例启动过程中安装它们 我的代码在本地计算机 OS X
  • 在 LINUX 上使用 Python 连接到 OLAP 多维数据集

    我知道如何在 Windows 上使用 Python 连接到 MS OLAP 多维数据集 嗯 至少有一种方法 通常我使用 win32py 包并调用 COM 对象进行连接 import win32com client connection wi
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构

随机推荐

  • Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax 解决方法

    问题描述 Caused by java sql SQLSyntaxErrorException You have an error in your SQL syntax xff1b check the manual that corresp
  • 数组和JSON之间的格式转换

    数组和JSON之间的格式转换 主要代码 xff1a span class token keyword const span a span class token operator 61 span span class token const
  • Linux vncpasswd and passwd

    1 vncpasswd 功能 xff1a 使用vncpasswd命令可以创建或更改一个VNC的登录密码 xff0c 这将同时在用户的主目录下创建一个隐藏的目录 vnc xff0c 该目录内有一个文件passwd保存着VNC登录密码 语法 v
  • 修改运行中的docker容器的端口映射(简单、高效)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言查看已经存在容器id关闭docker服务 xff0c 修改配置文件结束 xff0c 启动容器 前言 在docker run创
  • 人脸识别系列(十六):AMSoftmax

    论文链接 xff1a Additive Margin Softmax for Face Verification 2019 1 24 xff1a 注 xff1a 腾讯AI Lab的 CosFace Large Margin Cosine L
  • C语言:strtok()的用法。

    char strtok char str const char sep 1 sep参数是个字符串 xff0c 定义了用作分隔符的字符集合 xff1b 2 第一个参数指定一个字符串 xff0c 它包含了0个或者多个由sep字符串中一个或者多个
  • 日积月累

    目录 PYTHONUBUNTUTRACKINGNEURAL NETWORKMACHINE LEARNING PYTHON 有路径的地方要注意区别 和 ubuntu使用 分割文件夹 xff1b 对于别人的代码 xff0c 首先仔细阅读read
  • 19.RFID复习

    题型 填空题30分 xff08 一空一分 xff09 简答题30分 xff08 三道题 xff09 综合题40分 xff08 两道题 xff09 重点章节第一章 xff0c 第二章 xff08 见整理的练习题 xff09 xff0c 第四章
  • [Linux驱动]-----NAND FLASH

    一 NAND原理及硬件操作 C xff1a fopen xff0c fread xff0c fwrite APP open read write 1 txt 文件读写 文件系统 xff1a vfat ext2 ext3 yaffs xff0
  • sklearn中train_test_split里,参数stratify含义解析

    直接上代码 xff1a span class token keyword from span sklearn span class token punctuation span model selection span class toke
  • CentOS 7/8 预装的新型防火墙firewalld配置详解,

    前言 本文将会详细介绍CentOS 7 firewalld的来由 功能 常用命令 常用的案例及使用方法 希望能帮助读者全面了解firewalld xff0c 并能正确配置和使用它 centos7 firewalld firewalld与ip
  • webpack5常用配置

    该常用配置使用的npm包 xff1a span class token string property property 34 dependencies 34 span span class token operator span span
  • 【Linux】CentOS & Makefile

    目录 1 Ubuntu入门1 1 文件1 2 网络相关1 2 1 Linux网络相关概念和修改IP地址的方法IP信息临时修改ip地址NetworkManager修改主机名 1 2 2 关闭防火墙并设置开机开不启动firewalld临时和永久
  • HTTP请求报文(请求行、请求头、请求体)

    HTTP协议 1 简介 HTTP协议 xff08 Hyper Text Transfer Protocol xff0c 超文本传输协议 xff09 是用于从万维网 xff08 WWW World Wide Web xff09 服务器传输超文
  • Linux 下使用vscode调试C/C++程序记录

    Linux 下使用vscode调试C C 43 43 程序记录 本文主要介绍了 xff0c 在linux下使用vscode调试工程时的 xff0c 一些经验记录 基础配置 常用的配置方法网上的材料很多 xff0c 可以直接参照 链接 lin
  • 形状特征的提取

    物体和区域的形状是图像表达和图像检索中的另一重要的特征 但不同于颜色或纹理等底层特征 xff0c 形状特征的表达必须以对图像中物体或区域的划分为基础 由于当前的技术无法做到准确而鲁棒的自动图像分割 xff0c 图像检索中的形状特征只能用于某
  • c语言中全局变量在不同文件中的引用

    c语言中全局变量在不同文件中的引用 c语言中在某个文件中定义的全局变量可以在不同的文件中引用 xff0c 对数组和指针这两种全局变量在使用时必须要注意 xff0c 外部引用格式不正确时会出现编译或运行错误 下面通过不同的例子来说明数组和指针
  • Linux上MathGL的安装和使用

    Linux上MathGL的安装和使用 本人参考http mathgl sourceforge net doc en index html SEC Contents MathGL官网教程第一种方案在Ubuntu上对MathGL进行了编译安装
  • kvaser在linux下的二次开发

    kvaser在linux下的二次开发 linux下kvaser的驱动和SDK包安装 下载连接 http www kvaser cn software 7330130980754 V5 13 0 linuxcan tar gz 安装过程 解压
  • linux 交叉编译 C和C++

    linux 交叉编译 C和C 43 43 安装编译器Cmake中选择编译器编译运行注意 在ubuntu 中搭建arm交叉编译环境的过程记录 安装编译器 安装aarch64 linux gnu编译器 xff0c 可以参考 参考链接 安装完成后