展开

关键词

ARM 交叉编译环境搭建

最近研究了一下ARM的交叉编译环境搭建,太麻烦了必须作一下记录啊。 ++ CXXFLAGS=“-lstdc++” 执行的指令 这样比较好 另外,因为Android自带的库比较少,要用个什么东西还得一个一个编译依赖库,挺坑的 方案三:(自己搞个Arm版GCC编译器) 本来打算参照 Linux 编译安装 GCC 4.8 的脚本改进而来 后来发现太麻烦了, 大概是先编译arm架构用得binutils、newlib,再准备GCC的依赖库,和编译GCC 4.8的依赖库一样,然后编译初版的 arm gcc 接下来要以ARM架构为目标重新编译Linux kernel、glibc、glibc-ports、glibc-linuxthreads、libc、libz等等,然后再编译完整的cross-compile 的gcc 大致是这样,太麻烦了,一时半会搞不定 方案四:(别人有编译好直接给你用哇) 无意中找到的,真的是无意 https://launchpad.net/gcc-arm-embedded 这里有很多版本的编译好的

1.3K20

ARM交叉编译OpenCV错误总结

ARM交叉编译OpenCV错误总结 最近尝试给两个ARM板子与用交叉编译配置OpenCV,为此查了很多资料,学了很多交叉编译的操作。 重新用arm-linux-gnueabihf-g++编译Demo程序,就编译成功,且能成功运行了。 笔者把编译后的目录opencv-install放置在和PC机相同的路径(即/usr/local/arm/opencv-install/) 之后使用arm-linux-gnueabihf-g++编译Demo ,或者是x86的32/64位系统版本,或者是直接就没有用arm-linux-gcc系列的编译器之类的原因,况且我用的也是arm平台的编译器(笔者在PC机端用的编译器是arm-none-linux-gcc 迅为i.MX6Q开发板编译总结 1. 编译成功方法 虽然交叉编译失败,但是ARM本机编译方面,相比起来迅为的ARM开发板比BBB简单的多了。

1.2K90
  • 广告
    关闭

    一大波轻量级工具升级重磅来袭

    代码传递思想,技术创造回响!Techo Day热忱欢迎每一位开发者的参与!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    arm编译器调用约定

    经反汇编经验证确实如此:局部变量用用{r4-r12,r14}来保存,放不下的在堆栈保存,{r0-r3}用来传递参数,多于4个参数也保存在堆栈,完全符合编译器手册规则。有图有真相 ? 图上事例也说明具体哪个局部变量保存到堆栈也是编译器随机确定的而不是像参数传递一样有固定的顺序,如同之前碰到一个问题,编译器对静态数组的的初始化不会从从左到右,而是随机初始化(用户程序控制初始化除外)

    26650

    交叉编译libvisca库ARM版本

    /configure prefix="`pwd`/_install" --enable-shared --host=arm-linux-gnueabi #编译 make -j4 #安装 make install prefix : 指定安装目录 –enable-shared:编译成共享库 –host: 指定交叉编译工具的前缀名 注意: 要设置自己交叉编译工具的环境变量; 我是在: ~/.bashrc中设置的 #ARM BUILD export ARM_PATH=/home/zh/project/30431/dvr_rdk/.. /ti_tools/cgt_a8/arm-2009q1/bin export PATH=$PATH:$ARM_PATH export v5_ARM_PATH=/home/zh/project/v5_ /output/toolchain/bin/ export PATH=$PATH:$v5_ARM_PATH export ARCH=arm 编译成功 zh@xxx-OptiPlex-7080:~/soft

    5020

    arm-xm-linux交叉编译openssl

    编译环境 Ubuntu 16.04 x86_64 arm-xm-linux.tar.gz 下载openssl源码 $ wget https://www.openssl.org/source/openssl no-shared \ no-asm \ no-async \ --prefix=/your/install/path/xm/openssl_1.1.0d \ --cross-compile-prefix=arm-xm-linux - linux-generic32 指定目标平台类型, no-shared 生成静态库,如果要生成动态库,则使用-shared选项 no-asm 在交叉编译过程中不使用汇编代码代码加速编译过程 –prefix 指定安装目录 –cross-compile-prefix 指定交叉编译器名字前缀 no-async arm-xm-linux的machine定义为arm-xm-linux-ulibcgnueabi ,没有提供GNU C的ucontext库所以需要添加此选项,否则编译会报错 .

    9040

    cgo sqlite3 arm交叉编译

    尝试用go直接交叉编译 用CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-w -s" -o arm-mygofile mygofile.go 交叉编译失败。 用CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-w -s" -o arm-mygofile mygofile.go 交叉编译成功 arm-linux-gnu-gcc go build -ldflags "-w -s" -o arm-mygofile mygofile.go 交叉编译失败。 尝试交叉编译 arm 执行文件(32bit) 之前已经安装 yum install gcc-arm-linux-gnu 去https://releases.linaro.org/components/toolchain

    33040

    arm-linux交叉编译环境搭建

    centos7 64位 搭建arm交叉编译环境 1、下载交叉编译工具链 wget http://kan.027cgb.com/587712/gcc-linaro-arm-linux-gnueabihf -4-9-2014-07_linux-tar.xz 2、解压 解压到/opt目录下 xz -d gcc-linaro-arm-linux-gnueabihf-4-9-2014-07_linux-tar.xz tar -xvf gcc-linaro-arm-linux-gnueabihf-4-9-2014-07_linux-tar -C / 3、配置环境变量 vim /etc/environment source /etc/environment 4、安装依赖库 yum install -y gcc gcc-c++ kernel-devel glibc.i686 glibc zlib.i686 5、查看编译工具链 arm-linux-gnueabihf-gcc -v

    56430

    一次搞定 Arm Linux 交叉编译

    程序最后运行的环境变了,比如你的开发板是基于 Arm 的——程序在 X86 上编辑,编译,最终运行在另一个和 X86 完全不同的架构的 Arm 芯片上。 ? 所以我们要在 X86 的电脑上编译出能够在 Arm 上运行的程序,我们必须明确告诉编译器,编译生成的可执行文件需要以 Arm 指令集的标准编码。 为了让这个流程变得简单,开发者们为不同的芯片开发了不同的编译器,比如针对 Arm 平台的 arm-linux-gcc,针对 mips 平台的 mips-linux-gnu-gcc,这些编译器都是基于 GCC 这篇文章主要讲 Arm 的交叉编译,所以这里后面都以 Linux 开发环境下的 Arm gcc 为例。 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 如果你电脑上其他的依赖库都安装的完整,就能顺利编译成功。

    9.8K52

    Qt(交叉编译并移植到ARM平台)

    有时,我们需要在嵌入式系统中实现GUI,来满足特定嵌入式场景的人机交互需求,比如汽车影音系统、智能医疗终端、可视化无人机遥控等。 expat是一款比较好用的XML解析器实现,dbus为Qt提供了进程间交互的功能基础。 /configure \ --prefix=$INSTALLDIR \ --host=arm-none-linux-gnueabi 修改x.sh的权限,配置、编译并安装三部曲 /expat-2.1/include \ LDFLAGS=-L/usr/local/arm/expat-2.1/lib 跟expat一样,修改x.sh的权限,配置、编译并安装三部曲: 将上述编译好的文件(即/usr/local/arm/下的相关文件,尤其是库文件)放到开发板中,即可将交叉编译好的Qt程序放到开发板运行了。

    4.8K20

    Python的交叉编译移植至arm

    虽然网上有那么多python的交叉编译移植教程,但是方法差异蛮大,需要根据实际开发板的型号做调整,以下是适用于海思的板子移植过程。 step 1. python版本从网上下就可以; step 2. 新建一个目录用以编译pc版python,再编译pgen出来,用于生成语法解析器; mkdir build.pc cd build.pc ../configure make cd.. step 4. 配置 和编译CC=arm-hisiv300-linux-gcc CXX=arm-hisiv300-linux-g++ . /configure --host=arm-linux --prefix=/home/jhb/nfs/Python-2.7.3/python_install step 5.

    1.2K20

    如何交叉编译Python到ARM-Lin

    前言 我需要在Arm9的s3c2410 CPU上运行python,以下是我的编译过程。 host编译环境: ubuntu 7.04, gcc 4.2.1, arm-linux-gcc 3.3.2 要cross compile的程序: sqlite 3.5.6, python 2.5.1 我推荐使用amalgamation版本的源代码,这个代码只有几个文件而已,编译起来方便,而且据说 编译器好的话,还可能编译出更高效的代码。 编译arm版本的python 有了语法解析器,就可以开始编译arm版本的python了。 mkdir ../build.arm cd ../build.arm .. 先创建一个用于编译的目录build.arm,再对python做一些配置,如安装目录,不要ipv6,使用arm-linux的编译器,生成动态链接库。

    1.4K20

    ARM C++交叉编译环境构建方法

    本文说明在Linux主机上构建ARM开发用最新C++编译环境的方法。 安装Ubuntu主机 安装虚拟机软件 从VitualBox官网下载最新的VirtualBox。 -v 正确安装gcc交叉编译器之后,应该出现以下信息: Using built-in specs. 以同样的方式确认g++-8的安装结果: arm-linux-gnueabi-g++ -v 正确安装g++交叉编译器之后,应该出现以下信息: Using built-in specs. 在下面的画面中配置交叉编译器,之后按下[Finish]结束。 ? ? << std::endl; return 0; } 通过以下菜单编译arm_cpp工程: [Project]-[Build Project] 在eclipse的Console栏中出现如下内容()

    1.4K10

    Ubuntu搭建arm-linux-gcc交叉编译环境

    arm-linux-gcc 下载路径:链接:https://pan.baidu.com/s/1tYGsb9_BA_hSr78GA3F5Zw 密码:05xo1、下载工具并解压 将 arm-linux-gcc -4.5.1-v6-vfp-20120301.tgz 拷贝到 Linux 中,并解压到根目录:sudo tar -zxvf arm-linux-gcc arm-linux-gcc 下载路径: 链接:https ://pan.baidu.com/s/1tYGsb9_BA_hSr78GA3F5Zw 密码:05xo 1、下载工具并解压     将 arm-linux-gcc-4.5.1-v6-vfp-20120301 .tgz 拷贝到 Linux 中,并解压到根目录: sudo tar -zxvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /     这样解压到了根目录的  如果出现错误命令找不到,是因为使用的 Ubuntu 是 64 位的,而我们所安装的交叉编译工具是 32 位的,缺少 32 位的库: sudo apt-get install lsb-core sudo

    11520

    编译Arm物联网可信固件---DS-5

    Arm物联网可信固件需要用DS-5进行编译! ❶ 下载DS-5 v5.27.1 (DS-5 终极版,提供ARM编译器v6.7.1版本的) 官网下载。 ? 装完以上环境,才能进行物联网可信固件编译工作!就记录这么多了。

    37830

    编译arm64平台的软件包

    国产化平台使用的是arm64v8 CPU芯片,因此传统软件厂商提供的x86架构二进制软件包都没法用,都需要在arm64v8 CPU的服务器上拿源码重新编译。 构建debian deb包 在x86上构建debian的deb包还是比较简单的,过程简述如下: # 下面假设要编译curl的deb包 # 安装gcc、make等编译链工具 $ apt-get update 构建出arm64v8的deb包后,再将之安装到arm64v8的base docker镜像里,一个arm64v8平台下可使用的docker镜像就生成好了,参考的Dockerfile如下: FROM arm64v8 构建出arm64v8的rpm包后,再将之安装到arm64v8的base docker镜像里,一个arm64v8平台下可使用的docker镜像就生成好了,参考的Dockerfile如下: FROM arm64v8 编译障碍 arm64v8平台现在还不是很流行,在编译过程中可能会遇到各种各样的编译报错,这时拿着编译报错信息到google上搜索一下,一般都可以找到解决方案,一般是改改源码使编译通过,或者改改编译参数使之通过

    2.5K20

    各个平台arm-none-linux-gnueabi交叉编译工具下载

    arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。 可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。 源码版:交叉编译器源代码,一般很少用到。 为方便国内用户下载使用,我们从Codesourcery(Mentor)官网下载了所有版本的arm-none-linux-gnueabi-gcc编译器,并放到国内云盘上提供下载。 arm-2010q1-202-arm-none-linux-gnueabi.bin —— 下载 arm-2011.03-41-arm-none-linux-gnueabi.bin —— 下载 arm-

    1.1K30

    Linux系统下编译FFmpeg生成arm平台下动态连接库

    FFmpeg使用c语言编写,makefile工具编译,因此选择在linux平台下编译。 而我们需要生成arm平台下的so库,需要使用到ndk 1.ndk下载和安装 https://developer.android.google.cn/ndk/downloads/ 在安卓开发官网可以下载到 4.configure是一个shell脚本,编译就是执行这个脚本,而它还需要很多参数,我们可以自己建一个脚本来调用configure脚本 vi build_android.sh #! / export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 export CPU=arm export /build_android.sh 等待编译完成: ? 将该文件夹拷贝到windows下: ? lib中存放的是so库,include中存放的是头文件。

    77220

    EasyDSS 编译 Arm 版本出现 “undefined: syscall.Dup2”解决方式

    有的客户需要 Arm 版本的 EasyDSS平台使用,因此我们也会在aarch64环境下编译EasyDSS。在编译过程中,出现报错 “undefined: syscall.Dup2”。 在 Arm 架构中,没有提供 Dup2 的方法,因此出现以上编译问题。 Dup3与Dup2参数略有差异,dup(int filedes)函数返回一个可用的与filedes共享文件表项的最小描述符。 在该问题中,我们查询在 Arm 架构的 linux 中实现了 Dup3 方法代替 Dup2,因此修改代码为 Dup3,即可解决该问题。

    36510

    CentOS-AltArch-7(ARM版)下源码编译MySQL5.7.31

    3、检查是否有安装cmake 下载cmake源码包 下载地址 https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz 编译cmake cp /home/cmake “-j”参数可利用多核CPU加快编译速度 cd /home/gcc-7.3.0 mkdir gcc-build-7.3.0 cd gcc-build-7.3.0 .. 5、源码编译升级MySQL 下载MySQL 5.7.31版本的源码包 ? ,可自行查阅资料安装依赖包,并重新预编译。 重新预编译前,需要执行rm -rf CMakeCache.txt ? chmod +x cmake.sh ./cmake.sh make -j1 make install ? ?

    1K30

    相关产品

    • 大数据可视交互系统

      大数据可视交互系统

      腾讯云大数据实时可视交互系统 [RayData],基于数据实时渲染技术,利用各种技术从大规模数据通过本系统,实现云数据实时图形可视化、场景化以及实时交互,让使用者更加方便地进行数据的个性化管理与使用。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券