交叉编译

RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt

爱⌒轻易说出口 提交于 2020-03-05 07:05:24
1、配置RaspberryPi交叉编译环境: 在开发RaspberryPi Zero的过程中,由于Zero板卡的CPU的处理性能比较弱,因此其编译的性能比较弱,需要将代码在PC电脑上交叉编译完成之后再拷贝到Zero上调试运行。配置交叉编译环境的基本步骤如下所示: Step1: 从github网站获取raspberryPi交叉编译工具包: https://github.com/raspberrypi/tools git clone git@github.com:raspberrypi/tools.git 上述文件下载完之后的内容如下所示 (其中arm-bcm2708文件夹中的内容为交叉编译器) : Step2: 将交叉编译器配置到环境变量: 编辑环境变量配置文件 .bashrc ,在文件的末尾添加如下的代码 (注意路径,不同的路径记得修改) : export PATH=$PATH:~/Raspberry_Project/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 配置完成之后,需要执行source指令,让.bashrc生效: source ~/.bashrc Step3: 测试交叉编译环境 如下图所示,在ubuntu命令行中输入如下指令: arm-linux-gnueabihf-gcc -v

移植mysql到arm平台

自作多情 提交于 2020-03-04 15:13:02
最近需要将一个程序移植到arm平台上,程序调用了MySQL数据库,所以就牵扯到将MySQL数据库移植到ARM平台上面,所以在网上大量查阅资料。在baidu文库发现了一篇文档,是wlzxlc上传的文档名称为 :《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》 。 下面说明里面介绍到: ARM平台下的QtEmbedded所需mysql插件,及MySQL的移植。 我的整个移植过程参考了这篇文档,但是遇到了很多的问题,所以又上网搜寻其它资料。现在我已经移植成功,回头看这篇文档,就发现里面有很多疏漏甚至是错误。这些东西如果不详细注明出来,更多的新手绝对还会重蹈我的覆辙,所以在这里将 mysql 的 arm+linux 移植经验贴出来,希望对新手以及做相关方面工作的人能有帮助。所有在《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》这篇文档中的错误以及注意事项,我也会一一列出,在下面我将其称为“原文”。 编译器:arm-linux-gcc(4.3.2) P c平台:ubuntu 在移植之前有必要先说明一下几个问题: 1.M y SQL还没有支持交叉编译的版本出现.但为了让编译继续 , 必须在 configure 脚本中将多处不支持交叉编译的命令全都注释掉,才能让 configure 顺利通过。 2.交叉编译过程中需要用到 ncurses-5

windows平台下使用LiteIDE交叉编译golang

别说谁变了你拦得住时间么 提交于 2020-03-01 14:33:42
1,在windows环境下使用交叉编译,需要编译工具GCC,必须使用MinGW: http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download 安装完成后运行MinGW Installation Mannger 选择安装mingw32-ggc-g++ 安装完成后设置环境变量,系统环境变量PATH中 靠前的位置 添加C:\MinGW\bin(安装目录) 注: 如果出现类似这样的错误counld not be located in the dynamic link libintl-8.dll,是这个dll冲突了,将所有其他目录libintl-8.dll全部更名,防止冲突,记得编译完之后要改回来不然影响其他程序正常运行,如下: 2,在golang(当前版本go 1.3.3)安装目录下C:\Go\src目录下新建cc.bat文件(名字任取),内容如下: set CGO_ENABLED=0 :::::::::::::::::::::x86::::::::::::::::::::::::::::::::::::::: set GOARCH=386 set GOOS=windows call make

交叉编译使用DHCP(dhcp-4.2.5-P1.tar.gz) 连接热点自动获取 IP 地址

…衆ロ難τιáo~ 提交于 2020-02-26 13:40:36
文章目录 实验环境 交叉编译 使用 DHCP 参考链接 实验环境 主板:JZ2440 编译器:arm-linux-gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) Linux Kernel:3.4.2 DHCP版本:dhcp-4.2.5-P1.tar.gz 无线网卡:Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter 交叉编译 解压 tar xzf dhcp - 4 . 2 . 5 - P1 . tar . gz cd dhcp - 4 . 2 . 5 - P1 配置 . / configure -- host=arm - linux ac_cv_file__dev_random=yes 修改 bind 文件夹中文件 cd bind vim Makefile 把第 55 行: . / configure -- disable - kqueue 改为 . / configure BUILD_CC=gcc ac_cv_file__dev_random=yes -- host=arm - linux -- disable - kqueue 解压 bind 文件夹下 bind.tar.gz tar xzf bind . tar . gz cd bind - 9 . 8 . 4 - P2

交叉编译Qt5.12.7到NanoPC-T4或者NanoPi-M4

假如想象 提交于 2020-02-25 12:59:27
0.具体详细的配置过程这里没写出来,都是参考下面两篇博文,然后做了相应的修改的。 1.配置过程参考这篇博文 https://blog.csdn.net/qq_43248127/article/details/104077645 2.我在按照上面的博文配置后,编译时出现了(OpenGL)undefined reference to `dlsym’的问题。于是又参考这个 https://stackoverflow.com/questions/43815010/undefined-reference-to-dlsym/48240786#48240786 找到了原因 出现上述问题的原因很有趣,因为这个libdl.so是一个软连接,而且还是绝对路径的。那么我们将板子的文件系统拷贝到电脑上时,会破坏了这个文件系统的绝对文件路径,所以这个连接就失效了,所以编译时才会说找不到库。 来源: CSDN 作者: 韭菜钟 链接: https://blog.csdn.net/joyopirate/article/details/104491496

Android深度探索(卷1):安装C/C++交叉编译环境

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-25 02:45:50
X86架构的CPU采用的是复杂指令集(Complex Instruction Set Computer,CICS),而ARM架构的CPU使用的是精简指令集(Reduced Instruction Set Computer,RISC)。由于这两种架构的CPU使用了不同的指令集,因此在X86架构上开发可运行在ARM架构上的程序就必须要使用交叉编译器。通常交叉编译器和相关工具包含的了很多可执行文件以及大量的共享库及头文件等资源。这些资源的集合称为交叉编译环境。 在Internet上可以找到集成好的交叉编译环境,Android NDK和Android源代码中也包含的交叉编译环境。当然,如果我们需要一个完全独立的交叉编译环境,可以下载集成好的交叉编译环境,也可以自己制作(比较复杂,建议读者下载集成好的交叉编译环境)。下面介绍一个CodeSourcery交叉编译环境,这个交叉编译环境直接下载安装就可以安装。 读者可通过如下的网站访问CodeSourcery下载页面。 http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ 上面的页面并未直接提供CodeSourcery的下载链接,读者可以点击“Download the GNU/Linux Release”链接

Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解

删除回忆录丶 提交于 2020-02-25 02:44:59
安装环境 Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 这个版本的交叉编译器我已经上传到了资源上,可以随便下载, 点此下载 安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。 那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机

Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解

旧时模样 提交于 2020-02-25 02:43:09
转载: 王文松的博客Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解 安装环境 Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 这个版本的交叉编译器我已经上传到了资源上,可以随便下载, 点此下载 安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。 那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器

Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解

删除回忆录丶 提交于 2020-02-25 02:42:27
本文转载自: Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解 安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。 那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。 安装步骤 1、将压缩包arm-linux-gcc-4

移植openLDAP、berkeleyDB到ARM环境

泪湿孤枕 提交于 2020-02-25 02:33:46
环境:ubuntu、arm-linux-gnueabihf-gcc 目标环境:cortex-A7 准备:db-4.7.25.tar.gz、openldap-2.4.47.tgz官网下载 以下步骤均用普通用户,不需切换到root(个人习惯) 【交叉编译berkeleyDB、移植】 1.首先创建mkdir db-4.7.25-arm目录 2.解压tar zxvf db-4.7.25.tar.gz 3.在解压后的db-4.7.25目录中创建mkdir build_linux-arm目录 4.配置环境及编译 cd build_linux-arm/ ../dist/configure --host=arm-linux CC=arm-linux-gnueabihf-gcc --prefix=/home/admin/tools/openldap/db-arm make make install(这一步也可以不用做,移植需要的文件已经在上一步生成,在build_linux_arm下面有db.h和.libs/libdb-4.7.a(静态库),这就是我们所要的文件,可以把db.h拷贝到目标系统中的/usr/include下面,或者自己添加环境变量,同理,libdb-4.5.a也可以放到/usr/lib下面) 【交叉编译openLDAP、移植】 1.解压tar -xvf openldap-2.4.47