首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用crosstool-NG的ARM交叉编译器的正确选项是什么

使用crosstool-NG的ARM交叉编译器时,正确的选项取决于您的目标平台和编译器版本。以下是一些常见的选项:

  1. 目标平台:
  • arm-unknown-linux-gnueabi:针对基于ARM的Linux系统,使用glibc库和GNU编译器集合。
  • arm-linux-gnueabihf:针对基于ARM的Linux系统,使用glibc库和GNU编译器集合,支持硬浮点运算。
  • armv7-rpi2-linux-gnueabihf:针对树莓派2和3的Linux系统。
  1. 编译器版本:
  • --gcc-version:指定GCC编译器的版本,例如--gcc-version=10.2.0
  • --binutils-version:指定binutils的版本,例如--binutils-version=2.35.1
  • --newlib-version:指定newlib的版本,例如--newlib-version=3.3.0
  1. 其他选项:
  • --enable-gdb:启用GDB调试器支持。
  • --enable-gprof:启用gprof性能分析支持。
  • --enable-gold:启用Gold链接器支持。
  • --enable-lto:启用链接时优化支持。
  • --enable-multilib:启用多库支持。
  • --enable-interwork:启用ARM和Thumb指令混合支持。
  • --enable-fpu:启用浮点运算单元支持。
  • --enable-neon:启用NEON指令集支持。
  • --enable-vfp:启用VFP协处理器支持。

以下是一个示例命令,用于生成针对基于ARM的Linux系统的交叉编译器:

代码语言:txt
复制
crosstool-NG --target=arm-unknown-linux-gnueabi --gcc-version=10.2.0 --binutils-version=2.35.1 --newlib-version=3.3.0 --enable-gdb --enable-gprof --enable-gold --enable-lto --enable-multilib --enable-interwork --enable-fpu --enable-neon --enable-vfp

请注意,您需要根据您的具体需求和目标平台选择合适的选项。在使用crosstool-NG之前,请确保您已经安装了所有必要的依赖项,并且熟悉了crosstool-NG的工作原理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Options: 配置选项正确使用方式

四、直接初始化Options对象 前面演示几个实例具有一个共同特征,即都采用配置系统来提供绑定Options对象原始数据,实际上,Options框架具有一个完全独立模型,可以称为Options模型...这个独立Options模型本身并不依赖于配置系统,让配置系统来提供配置数据仅仅是通过Options模型一个扩展点实现。...在很多情况下,可能并不需要将应用配置选项定义在配置文件中,在应用启动时直接初始化可能是一种更方便快捷方式。...我们利用第6章介绍配置系统来设置当前承载环境,具体采用是基于命令行参数配置源。....六、验证Options有效性 由于配置选项是整个应用全局设置,为了尽可能避免错误设置造成影响,最好能够对内容进行有效性验证。

91010

交叉编译概念详解

这样软件包需要访问主机和目标编译器,并且需要教它们何时使用它们; Toolchain Leaks:配置不正确交叉编译工具链可能会将主机系统某些位泄漏到已编译程序中,从而导致通常易于检测但难以诊断和纠正故障...注意: 严格意义上来说,交叉编译器,只是指交叉编译gcc,但是实际上为了方便,我们常说交叉编译器就是交叉工具链。本文对这两个概念不加以区分,都是指编译链。...2.2 交叉编译链命名规则 我们使用交叉编译链时,常常会看到这样名字: ‍ arm-none-linux-gnueabi-gcc arm-cortex_a8-linux-gnueabi-gcc...如 crosstool-NG 如果购买了某个芯片或开发板,一般厂商会提供对应整套开发软件,其中就包含了交叉编译链。...而且,也是最考耐心和细心地方,配错一个选项或是一个步骤,都可能出现以前从来没见过问题,而且这些问题往往还无法和这个选项或步骤直接联系起来。

3.7K10

Ubuntu 18.04安装arm-linux-gcc交叉编译器两种方法(附下载地址)

此方法安装是最新版,但是此方法需要翻墙,否则99%会失败,这就是为什么网上大多都用压缩包安装原因:   首先Ctrl+Alt+T弹出终端,使用如下命令进行arm-linux-gcc安装: sudo...apt-get install gcc-arm-linux-gnueabihf   使用如下命令进行arm-linux-g++安装: sudo apt-get install g++-arm-linux-gnueabihf...  如果要卸载时使用如下命令进行移除,arm-linux-gcc卸载: sudo apt-get remove gcc-arm-linux-gnueabihf   arm-linux-g++卸载:...://pan.baidu.com/s/1f9m3ggdenuRQGb_NZ87bNA 提取码:krn5   安装64位交叉编译工具,先根据上面提供下载地址下载安装包:arm-linux-gcc-...目录中,命令如下: sudo cp -r gcc-3.4.5-glibc-2.3.6 /usr/local/arm   6.打开(/etc/profile)配置环境变量和库变量,目的是以后可以在任何位置使用交叉编译器

7.5K20

cmake:基于MDK(Keil)Nationstech.N32G45x平台交叉编译工具链定义

cmake虽然目前不支持生成μVision工程文件,但cmake完全可以使用MDK中提供arm编译器来实现独立于μVision交叉编译(说到底μVision只是一个为开发者提供易用GUI界面,真正干活儿还是编译器...cmake实现交叉编译最重要就是正确定义编译工具链(toolchain),本文以Nationstech.N32G45X(国民技术)平台为例说明如何在定义cmake交叉编译工具链来实现使用MDKarmcc...编译器执行单片系统交叉编译。...N32G45X交叉编译 要求安装Arm Keil编译器(mdk525.rar)及N32G45X SDK(N32G452xx.rar) 并如下设置环境变量: n32g45x_env.bat @rem --...,这个工具链文件中编译选项部分是可以正常执行,链接选项并没有验证是否正确

94460

嵌入式Linux系统移植四大步骤(详细长文,慎入!)

通过前面的工作,我们已经准备好了交叉开发环境硬件部分和一部分软件,最后还缺少交叉编译器,读者可能会有疑问,为什么要用交叉编译器?...相对于交叉编译,平常做编译叫本地编译,也就是在当前平台编译,编译得到程序也是在本地执行。用来编译这种跨平台程序编译器就叫交叉编译器,相对来说,用来做本地编译工具就叫本地编译器。...如果只是想使用交叉工具链,建议使用下列方法二构建交叉工具链。...方法二: 通过Crosstool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。...= arm-cortex_a8-linux-gnueabi- ---->交叉编译器arm-cortex_a8平台 注意:这两个变量值会直接影响顶层Makefile编译行为,即选择编译哪些代码

5.8K30

linux系统移植一般过程_内核移植基本步骤

通过前面的工作,我们已经准备好了交叉开发环境硬件部分和一部分软件,最后还缺少交叉编译器,读者可能会有疑问,为什么要用交叉编译器?...如果只是想使用交叉工具链,建议使用下列方法二构建交叉工具链。   ...方法二: 通过Crosstool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。   ...主要过程有以下几点:   1. 设定源码包路径和交叉编译器安装路径   2. 修改交叉编译器针对构架修改交叉编译器针对构架   3....= arm-cortex_a8-linux-gnueabi- —-》交叉编译器arm-cortex_a8平台   注意:这两个变量值会直接影响顶层Makefile编译行为,即选择编译哪些代码,用什么编译器进行编译

7K21

【FFmpeg】编译不同平台 FFmpeg 源码 ( 本地编译 与 交叉编译 | FFmpeg 指定目标平台编译配置参数 | 配置目标 CPU 架构 | 配置目标操作系统 )

架构 , arm64 架构 ; " 本地编译 " 编译器 和 编译工具链 与 本地系统 体系结构 和 操作系统相匹配 , 编译过程简单直接 , 无须配置交叉编译相关选项 , 编译出来 可执行文件..., 需要与头文件匹配 ; 在交叉编译中 , 需要使用交叉编译工具链 , 并手动配置编译选项以适应目标系统要求 , 同时还要提供 符合交叉编译要求 头文件 和 对应函数库 ; 3、Android...NDK 中附带 交叉编译工具 , 编译器名称 arm-linux-androideabi-gcc 说明 该编译器 只能在 Linux 系统中编译 arm 架构 android 平台 可执行程序...gcc 编译器其它编译选项 --arch=arm \ // 指定目标体系结构为 ARM --target-os=android // 指定目标操作系统为 Android 交叉编译 相关配置...; --sysroot 配置 交叉编译工具链 头文件 和 函数库 搜索路径 ; --extra-cflags="$FLAGS" 配置 gcc / g++ 编译器 额外选项 ; --arch=arm

84400

Golang - 从源码到二进制:探索在国产CPU架构上交叉编译Minio方法

在C++中,交叉编译通常用于在开发机器上编译目标平台程序,例如在使用x86架构开发机器上编译ARM架构程序。...交叉编译原理包括以下几个关键步骤: 选择交叉编译工具链: 首先需要选择目标平台交叉编译工具链,包括交叉编译器、链接器和标准库等。...这些工具链需要能够将源代码编译成目标平台可执行二进制文件。 配置环境: 在进行交叉编译之前,需要配置开发环境,以确保编译器和链接器能够正确识别目标平台架构和操作系统。...这可能涉及设置环境变量、配置编译器选项等。 编译源代码: 使用交叉编译工具链编译源代码。在编译过程中,编译器会根据目标平台架构和操作系统生成相应机器码。...链接生成可执行文件: 编译完成后,使用交叉链接器将编译生成目标文件链接成可执行文件。链接器需要确保将目标平台特定库链接到可执行文件中,以确保程序在目标平台上能够正确运行。

42100

交叉编译学习笔记(二)——交叉编译器命名规则

交叉编译学习笔记(二)——交叉编译器命名规则 在进行嵌入式开发过程中,用到交叉编译器经常是这样名称: arm-linux-gcc arm-none-linux-gnueabi-gcc arm-linux-gnu-gcc...上面对应交叉编译器前缀有arm-linux-, arm-none-linux-gnueabi-, arm-linux-gnu- 笔者很困惑,这些编译器同为ARMgcc编译器,不同命名到底会导致这些编译器有哪些区别...arm-none-linux-gnueabi基于 gcc ,使用 glibc 库,是经过 Codesourcery 公司优化过推出编译器,且该交叉编译工具浮点运算非常优秀。...其实这两个交叉编译器只是在 gcc 选项 -mfloat-abi 默认值不同。...\n”); return 0; } 使用“-v”选项以获取更详细信息: (1) 使用 arm-linux-gnueabihf-gcc 编译 输入指令如下:

4.5K50

xmake从入门到精通9:交叉编译详解

里面的gcc/g++就是c/c++编译器,通常也可以作为链接器使用,链接时候内部会去调用ld来链接,并且自动追加一些c++库。...这个时候,xmake会去自动探测gcc等编译器前缀名cross:arm-linux-armeabi-,并且编译时候,也会自动加上链接库和头文件搜索选项,例如: -I/home/toolchains_sdkdir...--cc用于指定c编译器名,--cxx用于指定c++编译器名。 注:如果存在CC/CXX环境变量的话,会优先使用当前环境变量中指定值。...也就是说,在指定编译器为c++mips.exe同时,告诉xmake,它跟clang++用法和参数选项基本相同。...clang编译器,或者指定交叉编译工具链中编译器名或者路径。

1.7K30

ARM交叉编译OpenCV错误总结

编译成功方法 讽刺交叉编译一直失败,最后我还是直接在ARM上编译成功,即先设置各项CMake选项,然后对OpenCV进行make操作,最后make install,并make clean清除中间文件...(2) file not recognized 之前笔者OpenCV是交叉编译,且交叉编译过程已经在我之前文章中《 Ubuntu 14.04 LTS下使用arm-linux-gcc交叉编译OpenCV...,或者是x8632/64位系统版本,或者是直接就没有用arm-linux-gcc系列编译器之类原因,况且我用也是arm平台编译器(笔者在PC机端用编译器arm-none-linux-gcc...-4.3.2,在BeagleBone Black板上编译器是4.6.3版本arm-linux-gnueabihf-gcc),虽然版本不同,但笔者认为在PC机上用编译器应该是被BBB编译器向下兼容...…… (3) 使用错误编译器 这个本来都不想回忆,因为实在太低级失误了…… 笔者曾经用了gcc编译器编译Demo程序,然而库文件是交叉编译arm-linux-gcc版本,结果肯定是运行不了

3K90

Ubuntu实现树莓派交叉编译

常见交叉编译例子如下: 1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU可执行代码。...若无指定使用host值; >> --host: 编译出来二进制程序所执行主机, 交叉编译工具链前缀。因为绝大多数是如果本机编译就本机执行,所以这个值就等于build。...: 这个参数比较特殊,表示需要处理目标平台名称,主要在程序语言工具如编译器和汇编器上下文中起作用,若无指定使用host值。...#能显示正确信息 $arm-linux-gnueabihf-g++ -v #能显示正确信息 注意:交叉编译时,如果出现arm-linux-gnueabihf-XXX...找不到,确定arm-linux-gnueabihf-XXX -v 是否能输出正确信息,如果能,可以切到root下进行编译 三、编译源代码 1、在写编译脚本时,一定要确保编译器交叉编译编译器

2.4K50

基于NXP i.MX28 MPU疫情监控平台1-交叉编译环境搭建

交叉编译器命名方式一般遵循“处理器-系统-gcc”这样 规则,一般通过名称便可以知道交叉编译器功能。...进行 ARM Linux 开发,通常选择 arm-linux-gcc 交叉编译器ARM-Linux 交叉编译器可以自行从源代码编译,也可以从第三方获取。...在能从第三方获取交叉编译器情况下,请尽量采用第三方编译器而不要自行编译,一是编译过程繁琐,不能保证成功,二是就算编译成功,也不能保证交叉编译器稳定性,编译器不稳定性会对后续开发带来无限隐患。...好了,程序运行没问题,就可以使用arm-gcc来编译这个程序,并生成可以在arm开发板上运行可执行文件了。 使用交叉编译工具编译这个C程序,指定输出arm.o文件。...当输入arm-fsl时,按下TAB键,如果能自动补全,说明环境变量配置成功,否则需要检查是否设置正确。 ?

1.6K30

【Android 音视频开发打怪升级:FFmpeg音视频编解码篇】一、FFmpeg so库编译

GCC 或 CLANG 交叉编译出Android平台可以使用FFmpeg so库。...三、如何交叉编译FFmpeg FFmpeg是什么 鼎鼎大名FFmpeg,不说在音视频界如雷贯耳,就算一个不开发音视频开发者也都是略有耳闻。...extra-cflags 介绍 -isysroot 之前,先看看这个 extra-cflags 选项。 这个选项作用是,给编译器指定除了 sysroot 之外头文件搜索路径。...cross-prefix 这个选项直译为 交叉编译前缀,指的是交叉编译工具前缀。 这个选项经常和另外一个选项 cc 一起出现搭配使用。 这是什么意思呢?...拼接完是这样: cc_defalut=$TOOLCHAIN/bin/arm-linux-androideabi-$cc 看下 ar_default cc_default cxx_default这些默认值是什么

1.8K30
领券