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

交叉编译用于arm的opencv : c++:错误:无法识别的命令行选项‘-mthumb’;你的意思是‘-mtbm’吗?

交叉编译用于ARM的OpenCV是指在一种不同的平台上(例如x86)编译OpenCV库,以便在ARM架构的设备上运行。这种编译方式可以将OpenCV的功能扩展到嵌入式设备、移动设备等ARM架构的硬件上。

C++是一种通用的编程语言,广泛应用于软件开发领域。它具有高效、可移植、面向对象等特点,适合用于开发各种类型的应用程序,包括图像处理、计算机视觉等领域。

错误信息"无法识别的命令行选项‘-mthumb’;你的意思是‘-mtbm’吗?"表示编译器无法识别命令行选项"-mthumb",并提供了一个类似的选项"-mtbm"。这可能是由于编译器版本不同或者编译器不支持该选项导致的。

要解决这个问题,可以尝试以下几个步骤:

  1. 确认编译器版本:检查使用的编译器版本是否支持"-mthumb"选项。如果不支持,可以尝试使用"-mtbm"选项替代。
  2. 检查编译器参数:检查编译命令中是否存在其他与"-mthumb"相关的参数,例如"-march"、"-mcpu"等。确保这些参数与目标ARM设备的架构和处理器兼容。
  3. 更新编译器:如果编译器版本过旧,可能会导致无法识别某些选项。尝试更新编译器到最新版本,以获得更好的兼容性和功能支持。
  4. 查找替代方案:如果以上步骤都无法解决问题,可以尝试查找其他的交叉编译工具或方法,以确保能够成功编译用于ARM的OpenCV库。

关于交叉编译和ARM架构的更多信息,您可以参考腾讯云的相关文档和产品:

请注意,以上提供的链接和产品仅作为示例,您可以根据实际需求选择适合的腾讯云产品。

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

相关·内容

Linux下开发stm32 ①

这就要说到linux下交叉编译了,因为我们要在PC机上编译出可以运行在ARM程序,使用gcc编译在PC上运行程序,所以我们要使用gcc-arm-none-eabi进行交叉编译~ 2.gcc-arm-none-eabi...toolchain 介绍及安装 gcc-arm-none-eabi一个开源ARM开发工具链,适用于Arm Cortex-M和Coretex-A系列处理器,包括GNU编译器(GCC),以及GDB,可用于...Windows,Linux,MacOS上交叉编译。...接下来就是激动人心编译步骤了~编译时候有两种文件,一种汇编启动文件,一种c源文件,接下来分别编译: 首先需要说明一些编译任何一个文件都需要带上参数: 参数 说明 -mthumb 表明使用指令集...其中stm32_flash.ld针对于STM32F103ZE链接文件,如果别的芯片,需要进行修改,将它复制到我们工程中去: ?

3.3K31

快速上手和使用makefile

make一个命令工具,一个解释makefile中指令命令工具,一般来说,大多数IDE都有这个命令,比如:Delphimake,Visual C++nmake,Linux下GNUmake。...一般来说,无论C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下 .o 文件,即 Object File,这个动作叫做编译(compile...对于后者,通常是需要告诉编译器头文件所在位置(头文件中应该只是声明,而定义应该放在C/C++文件中),只要所有的语法正确,编译器就可以编译出中间目标文件。...而在链接程序时,链接器会在所有的Object File中找寻函数实现,如果找不到,那到就会报链接错误码(Linker Error),在VC下,这种错误一般:Link 2001错误意思说是说,链接器未能找到函数实现...可以命令行一个个 编译arm-elf-gcc -g -mcpu=cortex-m3 -mthumb -c uart_helloworld.c -nostartfiles -o uart_helloworld.o

1.4K20

arm-gcc各版本区别

从本质来讲他们都是编译器,而gcclinux系统下面用来将代码编译成一个可执行程序手段。编译出来用于linux系统可执行二进制文件。可执行程序其实就是一堆0101二进制机器码。...举个例子 假设在Linux系统编译生成了可执行文件,我们本意要系统打开摄像头,但是如果在window系统上运行可能就是打开相册。同样可能这个可执行文件在ARM下面可能关机。...不同系统机器码含义不一样。所以在linux系统下面写代码要怎样才能在ARM系统上面跑呢。这就需要用到交叉编译arm-linux-gcc是什么意思?...就是告诉编译器,我编写环境linux,但是我希望生成可执行程序arm上面跑。这就是交叉编译。编写环境和执行环境分离一种手段。...其实这两个交叉编译器只不过 gcc 选项 -mfloat-abi 默认值不同。

3.3K20

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

架构 , arm64 架构 ; " 本地编译 " 编译器 和 编译工具链 与 本地系统 体系结构 和 操作系统相匹配 , 编译过程简单直接 , 无须配置交叉编译相关选项 , 编译出来 可执行文件..." 在 本地系统 上 编译生成 适用于 另外一种 不同体系结构或操作系统 可执行文件 和 函数库 ; 交叉编译 使用场景 : 嵌入式系统 移动开发 跨平台开发 " 交叉编译 " 需要考虑 不同平台之间差异...交叉编译需要工具 在 Ubuntu 中进行 Android 平台 C/C++ 函数库交叉编译时 , 使用工具如下 : 交叉编译工具链 : android-ndk-r17c/toolchains/.../android-21/arch-arm \ // 指定 Android NDK 中 Android 21 版 --extra-cflags="$FLAGS" \ // 额外编译选项 , 用于设定...gcc 编译其它编译选项 --arch=arm \ // 指定目标体系结构为 ARM --target-os=android // 指定目标操作系统为 Android 交叉编译 相关配置

42200

【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

编码库 ; 这里下载 FAAC Source code 中 TAR.GZ 文件 ; 四、 Ubuntu 18.04.4 交叉编译 FAAC 编码器 ---- 1 ....交叉编译工具链 : ① 其它开源库惯例 : 在 FFMPEG 和 x264 交叉编译时 , 都指定了 --cross-prefix 交叉编译工具链前缀 ; ② FAAC 中指定交叉编译工具链方法 :...variables: # C 编码器命令行, 即 gcc, 这里可以直接指定交叉编译工具链 gcc CC C compiler command # 指定传递给 gcc...=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 # 具体交叉编译工具链前缀 CROSS_COMPILE=$TOOLCHAIN...expected an absolute directory name # 改成绝对路径, 或者使用下面的方法 PREFIX=`pwd`/android/armeabi-v7a # FAAC 中没有指定交叉编译工具链选项

75810

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

交叉编译学习笔记(二)——交叉编译命名规则 在进行嵌入式开发过程中,用到交叉编译器经常是这样名称: arm-linux-gcc arm-none-linux-gnueabi-gcc arm-linux-gnu-gcc...,即系统架构,表明交叉编译目标系统平台架构,即用该交叉编译编译程序运行在哪种CPU上。...至于其他更多信息,可以自行百度…… 这里gnu,貌似就是表示用glibc意思。...arm-none-linux-gnueabi基于 gcc ,使用 glibc 库,经过 Codesourcery 公司优化过推出编译器,且该交叉编译工具浮点运算非常优秀。...其实这两个交叉编译器只是在 gcc 选项 -mfloat-abi 默认值不同。

4.4K50

MDK Keil使用GCC编译图文详解

GCC 一个有众多贡献者开源开发工作,它广泛可用并支持许多设备。 Keil 默认使用ARMCC编译MCU工程代码。因此设置为GCC编译需要进行以下配置。...:1.这里我用cortex-m3,如果m4内核就改成4) 2....-mthumb意义:使用这个编译选项生成目标文件Thumb 3....S文件 使用GCC编译器需要启动代码不同与AMRCC,不过官方已经有提供了相关代码,如下图: 六、编译运行 1.core_cm3.c错误 这里写图片描述 出现两个错误,经过在搜索发现原来官方提供...此外,在 GNU 模式下,ARMCC 编译器模拟 GCC 以符合 C/C++ 标准,无论其严格程度如何。 此选项还可以与其他源语言命令行选项结合使用。例如,armcc --c90 --gnu。

1.7K30

编译选项含义

也就是增加相应优化编译选项,具体看下面的相应链接; https://www.zhihu.com/question/27090458 -fpic:用于生成位置无关代码。...CPU选项contex-a8类型; -mfloat-abi=softfp 上面的编译选项和-mfloat-abi=hard,这个参数都用来产生硬浮点指令;硬浮点则是通过浮点运算单元(FPU)来完成,...使用实际硬件浮点运算单元会比软浮点快得多; -mthumb-interwork 这个编译选项则是支持编译出来汇编语言可以支持ARM和THUMB指令集; -mno-thumb-interwork 缺省情况下...“-mno-thumb-interwork”,因为指定了“-mthumb-interwork”产生代码稍微大一些; -Wno-write-strings: 会忽略掉C++ char * 转const...char  *警告,这样并不会很安全; -Wno-trigraphs 关闭ANSI C三联符编译出现错误; 三联符概念: http://blog.csdn.net/daheiantian/article

2.7K60

【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )

/bin/sh 代码 , 可以看出 configure Shell 脚本 ; 2 . configure 脚本作用 : 该脚本用于生成 make 工具构建脚本 Makefile 文件 ; 3 ....: #配置选项 # 是否关闭静态库编译 , 默认值 no 会编译静态库 # 如果设置该选项 , 编译时不会编译静态库 ; # 这里使用默认值 , 即要编译出静态库在 Android 中使用...② 使用情况 : 在 Android 开发中只需要 FFMPEG 函数库 , 不需要这些程序 , 建议关闭命令行程序编译选项 ; ③ 配置命令 : 调用 ....: #程序选项 #关闭命令行程序编译 : FFMPEG 提供了一些可执行命令行程序 # 如 ffmpeg.exe , ffplay.exe , ffprobe.exe..., 即 NDK 目录下交叉编译工具目录 , 其中有一系列 arm-linux-androideabi-XX 工具 # PREFIX 配置完整路径/NDK路径/工具前缀 # /root/NDK

1.3K20

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

二、什么交叉编译 定义 引自百度百科定义:交叉编译在一个平台上生成另一个平台上可执行代码。 什么意思呢?说白了,就是在一个机器上生成一个程序,这个程序可以跑在另外一个机器上。...理论上可以,但是Android手机上资源有限啊,在PC上编译一个apk都要那么久,可以想象在Android手机上编译一个apk要多久?或者能想象在手机上敲代码情景?...无法加载。...cross-prefix 这个选项直译为 交叉编译前缀,指的是交叉编译工具前缀。 这个选项经常和另外一个选项 cc 一起出现搭配使用。 这是什么意思呢?...- \ 这是两种完全不同配置方式,但是很神奇有时候他们都能成功编译,有时候又会出现找不到编译链工具错误

1.8K30

Ubuntu 14.04 LTS下使用arm-linux-gcc交叉编译OpenCV 2.4.9

但中间确实也存在着类似于命令行缺少空格之类错误,所以笔者准备把自己交叉编译过程详细写下来,尽量让读者们少走弯路~ 笔者操作环境: PC操作系统:Ubuntu 14.04 LTS OpenCV 2.4.9...其中,/usr/local/arm/4.3.2/binarm编译路径; /usr/local/arm/opencv-dependOpenCV依赖库安装路径; /usr/local/arm...三、安装依赖库 OpenCV交叉编译之前,首先需要对依赖库进行交叉编译。因为OpenCV依赖于很多库函数,如果在编译OpenCV之前没有编译依赖项,就会导致编译OpenCV无法使用。...否则可能会像笔者编译OpenCV至21%时,显示make错误; 至此,依赖库编译安装完成。...四、OpenCV交叉编译 1、获取OpenCV源码 笔者这里使用OpenCV 2.4.9版本,可以在官网上下载。

9.3K90

细谈linux gcc入门相关知识和用法(超详细)

---- 第一:linux gcc包含c/c++编译器  gcc  、cc  、c++  、g++ 其中gcc和cc一样c++和g++一样,一般c语言程序就用gcc编译c++程序就用...---- 第二:gcc特点 gcc一个可移植编译器,支持多种硬件平台。例如ARM、X86等等。 gcc不仅是个本地编译器,它还能跨平台交叉编译。...gcc有多种语言前端,用于解析不同语言另外gcc按模块化设计,可以加入新语言和新CPU架构支持。gcc自由软件。任何人都可以使用或更改这个软件。...:  gcc -E  test.c  -o test.i 这句命令意思:走完预处理第一步就会停下来,将产生临时内容存放在 test.i文件中 2.编译 本质 就是把c语言变成汇编语言 具体操作:命令行输入...) 具体操作:命令行输入: gcc -c  test.s -o test.o 这句命令意思:走完汇编第三步就会停下来,将产生临时内容存放在 test.o文件中 4.链接 本质 就是引入我们在代码中使用第三方库生成可执行文件或库文件

39960

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

xmake一个基于Lua轻量级现代化c/c++项目构建工具,主要特点:语法简单易上手,提供更加可读项目维护,实现跨平台行为一致构建体验。...cpp预处理器,as汇编器,ar用于生成静态库,strip用于裁剪掉一些符号信息,使得目标程序会更加小。nm用于查看导出符号列表。...根目录就可以编译了,例如: $ xmake f -p cross --sdk=/home/toolchains_sdkdir $ xmake 其中,-p cross用于指定当前平台交叉编译平台,-...手动配置编译 如果上面的自动检测对某些工具链,还无法完全通过编译,就需要用户自己手动设置一些交叉编译相关配置参数,来调整适应这些特殊工具链了,下面我会逐一讲解如何配置。...--cc用于指定c编译器名,--cxx用于指定c++编译器名。 注:如果存在CC/CXX环境变量的话,会优先使用当前环境变量中指定值。

1.7K30

Ubuntu 16.04上用CMake图形界面交叉编译树莓派OpenCV3.0

引言 最近有个科研课题需要在树莓派上做一系列验证,但是实验程序依赖OpenCV(最重要我们修改了库源码),而在树莓派上编译OpenCV源码很费时间,因此我只好使用交叉编译方法来编译源程序...准备工作 首先,我操作系统Ubuntu 16.04,其实OpenCV交叉编译对系统并没有任何特殊要求,只是我个人觉着Linux操作环境比较方便而已,本文提供方法理论上window系统只需稍加修改应该也是适用...5)如图填写编译工具信息,其中比较重要Compilers下C, C++, Target Root项。...而C++项表示树莓派编译工具g++编译器,如本文 /home/apple/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin...,如果打印输出opencv版本号就表明咱们交叉编译成功!

1.1K00

Tina下运行在Ubuntu中交叉编译Opencv 4.5.1

前言 看到很多人在小哪吒上编译Opencv,自己也尝试过编译了几次,各位开发者在编译时候都可能会遇到不同问题,现将其整理出来方便后面新来开发者查阅。...交叉编译OpenCV 4.5.2, 运行在Tina Linux hu487364 在虚拟机中,符合广大开发者开发环境及方法。...aldfaaa使用命令行和直接修改CmakeLists.txt 文件来完成编译. 这里推荐开发者使用第一种方法。在虚拟机中使用cmake-gui进行配置完成编译。...这个错误是因为没有关上jpeg 暂时只能将这个包关掉做编译(类型错误,没有修正) 这个错误没有在上面加 -latomic 如果以上都没有 ,就可以顺利编译下来 然后就可以在...芜湖 注意 我们在编译过程中 关掉了 jpeg 相关包,所以在 imwrite 等操作时 ,无法解析 jpg 文件会出现这样报错: terminate called after throwing

12710

Qt框架简介

把Linux移植到ARM上,也是能跑Qt开发出来软件。 2、Qt开源,还是收费开源,需要遵循LGPL或GPL协议。 3、Qt使用什么语言开发?...这里要特别注意:VS使用msvc编译器,Qt Creator使用Mingw 32编译器,这两个编译编译出来库并不通用。 7、Qt Creator原生编辑器有Vi / Vim模式?...11、我现在只学习C、C++语法,不做图形界面,可以使用Qt Creator编译、运行代码? 可以。Qt Creator自带MinGW编译器可以编译C、C++。...静态编译,再加UPX压缩壳,即可发布,而且单一文件。 16、怎样把Qt代码,移植到ARM需要使用交叉编译Arm Gcc,并设置硬件相关参数。...其它,请参考《C++开源库大全》。 31、如何让Qt运行单一实例进程? 可以使用QtSingleApplication。 32、如何实现命令行程序?

5K20

6_Makefile与GCC

第六章 Makefile与GCC 6.1 交叉编译器 6.1.1 什么交叉编译 ​ 简单地说,我们在PC机上编译程序时,这些程序在PC机上运行。我们想让一个程序在ARM板子上运行,怎么办? ​...在这个过程中,我们一会在PC上写程序、编译程序,一会在ARM板上运行、验证,中间来来回回不断重复,所以称之为“交叉”。对于所用工具链,它是在PC机上给ARM编译程序,称之为“交叉工具链”。 ​...在连接阶段中,所有对应于源程序.o文件,“-l”选项指定库文件,无法别的文件名(包括指定“.o”目标文件和“.a”库文件)按命令行顺序传递给连接器。...6.2.2 gcc命令 ​ gcc命令格式: gcc [选项] 文件列表 ​ gcc命令用于实现c程序编译全过程。文件列表参数指定了gcc输入文件,选项用于定制gcc行为。...第10行:书写格式错误,变量a没有对应输出格式。 ​ 我们对上面的文件进行编译,还记得上面我们讲编译警告选项

3.5K10

错误记录】Android NDK 错误排查记录 ( java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader )

CPU 信息查看 : 使用 adb shell 进入命令行 , 进入 /proc 目录 , 执行 cat cpuinfo 命令 , 即可查看 CPU 架构信息 , 运行该应用手机 AArch64 架构...; ② 编译已有应用 : 只是使用最新 Gradle 及插件 , 编译之前配置 NDK 代码配置方式 , 代码依赖库 , 构建脚本等 , 需要修改 ; ③ 纯源码开发 : 使用 C/C++ 源码开发肯定是没问题...; ④ 引用外部函数库 : 如果引用外部函数库 , 如第三方静态库或动态库 , 其中配置 , 预编译选项 , 构建脚本 , 可能支持情况就不太一样了 , 使用一些不太适合 Gradle 版本可能无法编译通过..., 或编译版本无法运行 ; ⑤ 当前交叉编译 CPU 架构选择 : 该 NDK 项目中引用了外部静态库 , 和头文件 , 需要配置预编译选项 , 但是在 Ubuntu 中只交叉编译了 armeabi-v7a...CPU 架构静态库 ; ⑥ 建议交叉编译 CPU 架构选择 : 最新 Gradle 和 Gradle 插件 , 编译应用 , 必须在 Ubuntu 中交叉编译时 , 为各种 CPU 架构都编译出对应函数库

54010
领券