导航:首页 > 源码编译 > 基于arm交叉编译x86

基于arm交叉编译x86

发布时间:2022-04-13 02:22:17

‘壹’ 如何实现protobuf在XCODE上armv7/armv7s/i386的交叉编译 / 蓝讯

步骤一:部署protoc.exe
1)sudo su ---进入管理模式
//以下操作切换至protobuf文件夹
2)。/configure
3)make
4)make check
5)make install
此时可以查看protobuf文件夹下面的makefile文件,可以查看-build表示的本机环境以及-host表示的编译库的运行环境
我本地的-build=x86_64-apple-darwin12.3.0
-host=x86_64-apple-darwin12.3.0
(这两个参数在后续配置脚本需要用到,与后面脚步的i686-apple-darwin12.3.0以及arm-apple-darwin12.3.0后缀“arm-apple-darwin12.3.0”保持一致)
6)make distclean清理已生成的makefile,为交叉编译配置新makefile做准备
步骤二:配置交叉编译
1)执行脚本ios-build.sh,脚本内容如下:
configure_for_platform() {
export PLATFORM=$1
#export PLATFORM=iPhoneOS
echo “Platform is ${PLATFORM}”
if [ “$PLATFORM” == “iPhoneSimulator” ]; then
export ARCHITECTURE=i386
export ARCH=i686-apple-darwin12.3.0
fi
if [ “$PLATFORM” == “iPhoneOS” ]; then
export ARCHITECTURE=$2
export ARCH=arm-apple-darwin12.3.0
fi
export ARCH_PREFIX=$ARCH-
export SDKVER=“6.1”
#sdk版本号必须正确
export
DEVROOT=/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer
export SDKROOT=“$DEVROOT/SDKs/${PLATFORM}$SDKVER.sdk”
export
PKG_CONFIG_PATH=“$SDKROOT/usr/lib/pkgconfig:$DEVROOT/usr/lib/pkgconfig”
export AS=“$DEVROOT/usr/bin/as”
export ASCPP=“$DEVROOT/usr/bin/as”
export AR=“$DEVROOT/usr/bin/ar”
export RANLIB=“$DEVROOT/usr/bin/ranlib”
#export CPP=“$DEVROOT/usr/bin/c++”
#export CXXCPP=“$DEVROOT/usr/bin/c++”
export CC=“$DEVROOT/usr/bin/gcc”
export CXX=“$DEVROOT/usr/bin/g++”
export LD=“$DEVROOT/usr/bin/ld”
export STRIP=“$DEVROOT/usr/bin/strip”
export LIBRARY_PATH=“$SDKROOT/usr/lib”
export CPPFLAGS=“”

‘贰’ ubuntu的编译环境是x86系统还是arm交叉编译

在一个平台上生成另外一个平台上的可执行代码才叫做交叉编译。如果你安装的编译环境仅仅是为了生成本系统上的可执行代码,那就不是交叉编译环境,至于是不是X86,要看你的Ubuntu到底是不是X86平台。

‘叁’ 请教:ARM交叉编译中不能编译二进制工具

用交叉编译器在x86上编译通过了,那么在arm上你得要共享,然后再运行可执行文件,试试可不可以。

‘肆’ 如何使代码既支持x86又支持arm

代码用java写。Java代码编译后是用Java虚拟机运行,因此CPU架构并不是什么大问题,能运行java虚拟机即可。典型的例子就是安卓,既可以在arm上运行又可以在x86上运行。

‘伍’ 为什么x86和arm的架构不同,但是都能装linux呢,他们的编译时如何实现的。

rm架构和x86架构区别:

一、性能:

X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多、强得多。X86的CPU随便就是1G以上、双核、四核大行其道,通常使用45nm(甚至更高级)制程的工艺进行生产;

而ARM方面:CPU通常是几百兆,最近才出现1G左右的CPU,制程通常使用不到65nm制程的工艺,可以说在性能和生产工艺方面ARM根本不是X86结构系统的对手。

但ARM的优势不在于性能强大而在于效率,ARM采用RISC流水线指令集,在完成综合性工作方面根本就处于劣势,而在一些任务相对固定的应用场合其优势就能发挥得淋漓尽致。

二、扩展能力:

X86结构的电脑采用“桥”的方式与扩展设备(如:硬盘、内存等)进行连接,而且x86结构的电脑出现了近30年,其配套扩展的设备种类多、价格也比较便宜,所以x86结构的电脑能很容易进行性能扩展,如增加内存、硬盘等。

ARM结构的电脑是通过专用的数据接口使CPU与数据存储设备进行连接,所以ARM的存储、内存等性能扩展难以进行(一般在产品设计时已经定好其内存及数据存储的容量),所以采用ARM结构的系统,一般不考虑扩展。基本奉行“够用就好”的原则。

三实现编译:

因为linux是系统,他支持现在大多数的结构体系。而要使他移植到相应的不同的硬件平台上时,需要对内核源码进行相对应的交叉编译处理,然后才能进行烧写运行,因为都有驱动只要那个系统有对应平台的驱动就可以。

(5)基于arm交叉编译x86扩展阅读:

Linux常用命令

1、pwd命令该命令的英文解释为print working directory(打印工作目录)。

2、输入pwd命令,Linux会输出当前目录。

3、cd命令cd命令用来改变所在目录。

4、cd / 转到根目录中

5、cd ~ 转到/home/user用户目录下

6、cd /usr 转到根目录下的usr目录中-------------绝对路径

7、cd test 转到当前目录下的test子目录中-------相对路径

8、cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。

9、cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。

‘陆’ 为什么需要编译安装x86和arm版的qt

问题太笼统了吧,arm的qt是交叉编译环境,针对arm的板子编译程序,x86是针对pc编译程序,目标程序运行环境不一样,肯定版本也不一样啊,同时安装可以用x86版的程序测试代码,再用arm的编译出目标程序

‘柒’ linux C 中 脚本编写时,ARM架构、x86架构编译工具如何选择

刚学 Linux 建议还是先补习一下基础知识。之后自动手动编译一个自己的交叉编译器。
之后你就明白其中的原委了。

我估计是你安装的有问题,交叉编译器的 bin 目录没有放进 PATH 变量

‘捌’ 能在x86上编译运行在arm的交叉编译器吗

,在进行ARM-linux嵌入式开发时必须在PC机(x86结构)上编译出能够运行在ARM上的程序,然后再将程序下载到ARM中来运行.这就用到了交叉编译器...

‘玖’ jdk nginx. redis 在arm和x86要分别编译

一、注意openssl和pcre只需要把源码解压缩,不需要单独交叉编译!
开始的时候不知道,傻傻的把这两个库弄半天把它们编译过去了。谁知道nginx的--with-pcre和--with-openssl选项,指定的是这两个库源代码的路径,并非安装路径!nginx的编译系统只会从/usr、/usr/local等少数几个目录查找是否有预编译的pcre、zlib、openssl等库。对于交叉编译,直接把交叉编译后的pcre等安装在/usr、/usr/local显然不合适,因此需要使用--with-pcre和--with-openssl指定源代码的位置

二、交叉编译nginx
在x64 linux上面编译非常简单的nginx,没想到在交叉编译的时候巨多坑。下面一个configure是编译成功的配置

进入/usr/local/src目录,创建nginx文件夹。入刚创建的nginx目录,下载nginx的tar包,解压,进入解压生成的目录,进行配置(后面有补充,建议通读一遍)编译安装查找安装路径,在执行make编译时,可以添加要编译的参数,已安装完成,比如我现在要新增 http_stub_status_mole 模块参数,那么我只要把该参数添加进去然后重新编译即可,需要注意的是原先编译过的参数也要加进来。
进入nginx的安装目录,因为我安装的时候没有添加任何参数,所以这里我只需要执行

我这里只需要这一个模块,如果你安装的nginx还使用其他的模块,记得在上面的编译命令中加上。
另外,这里只能 make 千万别 make install,否则就覆盖安装了。


‘拾’ 如何在arm linux上运行.net的x86程序

1.需要交叉编译后,将编译出的文件放到板子上执行。
2.交叉编译器arm-linux-gcc或者arm-linux-g++,过程比较复杂,一时是说不清楚的。
3.建议多看些资料,了解一下原理
4.也可以去请教一下arm方面的专家

阅读全文

与基于arm交叉编译x86相关的资料

热点内容
推荐算法创新点 浏览:17
汽油机压缩是什么 浏览:279
如何获得网站源码 浏览:822
搜索本机加密软件 浏览:209
三星迷你日记加密 浏览:818
优加密试卷五年级上册数学 浏览:932
社区购物app源码 浏览:123
程序员去北京完整视频 浏览:272
linuxscan 浏览:902
查看linux默认shell 浏览:151
百鸡问题java 浏览:714
通信信号调制识别原理与算法源码 浏览:721
e72手机安装什么app 浏览:177
程序员cv岗 浏览:257
ps下载解压后怎么找安装包 浏览:120
运动手环软件如何扫码下载安卓 浏览:468
程序员前期报道 浏览:155
游戏主文件夹是什么意思 浏览:800
极光电商app是什么软件 浏览:70
php调用html5 浏览:501