当前位置:首页 » 编程软件 » 但是交叉编译

但是交叉编译

发布时间: 2022-12-25 11:53:15

㈠ 什么是交叉编译

简单的说,如果你开发嵌入式,也就是制作小的带MCU(CPU)的智能电子产品。你必须保证你在电脑上开发编译出的代码,在你的产品上也要能够运行,这时就需要在你的电脑里安装交叉编译工具,实现上述功能。

㈡ 请问什么是交叉编译跟本地编译有什么区别

交叉编译就是在A平台编译出能在B平台运行的文件。

㈢ 如何交叉编译 动态库

首先,你要保证你编译的程序使用的交叉编译链是开发板支持的,例如arm-linux-4.3.2,一般是在虚拟机下面的linux系统下的/etc/profile里面添加编译链路径;接着,需要确保使用的内核是开发板目前使用的内核,一般MINI2440是使用linux-2.6.30版本的,这个要在程序的makefile文件里面改;还有,如果你使用静态编译方式文件会比较大,但是不用依赖库,如果是用动态编译,文件就比较小,但是依赖动态库,如果放到开发板上运行提示缺少动态库,就证明你没有把动态库放进开发板的/lib里面,可以用ldd指令查看需要哪些库;最后,记住移植的方式可以使用NFS或者Tftp,U盘也可以,放到开发板上后必须在文件存放的当前目录下./可执行文件,或者把文件放入/bin或者/sbin下面,就可以直接可执行文件,不用加./你可以在程序里面加些调试信息输出,例如printf,以此证明有执行。

㈣ 如何交叉编译开源库

{
查看目录下面的README,INSTALL这些文档,看怎么去build。
./buildconf
./configure --host=x86_64-pokysdk-linux --target=arm-poky-linux-gnueabi --prefix=/root/work/lib_arm/c-ares

make有时候可以手动指定CC,AR,LD等编译选项,但是要根据组件的Makefile和config文件是否用到,名字是不是这个,不能随意猜测
make CC="arm-poky-linux-gnueabi-gcc" AR="arm-poky-linux-gnueabi-ar r" RANLIB="arm-poky-linux-gnueabi-ranlib"
make CC="arm-poky-linux-gnueabi-gcc" AR="arm-poky-linux-gnueabi-ar r" RANLIB="arm-poky-linux-gnueabi-ranlib" install

有可能需要配置下某些编译选项以使得编译器配置和组件代码的要求相匹配
export CFLAGS="-mfloat-abi=hard -g0 -O2 -Wno-system-headers "

㈤ 交叉编译, 头文件, error: iostream: No such file or directory

在编译器配置中,
菜单settings->complier中,
选中你当前使用的编译器,
将codeblocks包含头文件的文件路径添加到complier的列表中.

㈥ 如何交叉编译开源库

你有没有先注意到
1、你在./configure 的时候有没有给它添加上这个库看因为很可能你知道有这个库,但是./configure它自己不知道,你要在这个命令后面试着告诉./configure 你的库的位置,可以考虑用-L/YOU_LIB_DIR or -ILIB_NAME。

2、也有可能是你这个库没有PPC版本的,如果是这样的话,你要找到这个库的源代码,然后把它交叉编译,再导入这个zebra。

good luck!

㈦ 交叉编译php问题,怎么解决

因为目标板跟主机都是X86架构,正常来说,只要主机编译通过并顺利执行的程序,目标板应该也能顺利,但这种不稳的方法,不妥当,于是决定还是为了心安,用交叉编译工具来编译程序
进入到php源代码
CC=某某交叉编译器 ./configure --prefix=/home/app/php --with-gd=/home/app/gd
gd我已经进行了交叉编译,包含了jpeg,png,freetype等东西了,这里就略带了
按照我上面的配置,产生了一个错误
configure: error: GD build test failed cross compile

提示说找不到GD组建,于是重新确定了一下路径有没错,那当然是没错的啦
于是去除了交叉编译器
./configure --prefix=/home/app/php --with-gd=/home/app/gd

这样的配置,就能如常执行下去
最后实在没办法了,看一下配置日志
vi config.log
发现以下信息
warning: libjpeg.so.62, needed by /home/app/gd/lib/libgd.so, not found (try using -rpath or -rpath-link)

库问题,虽然编译了jpeg但是,交叉编译器不懂去找这些库,好吧,好人做到底,
find -name libjpeg.so.62 找出库,拷贝到gd的安装目录下的 lib 文件夹

㈧ 在linux虚拟机中运行程序没有问题,但是交叉编译之后到arm板子上跑就段错误,求大神指教~~!!!

请注意你的ftp工具,保证上传方式,是以二进制格式上传。

㈨ 请问什么是交叉编译跟本地编译有什么区别求大神帮助

你那个代码很可能是在pc平台上交叉编译到arm设备上的。这样你可以在pc上修改程序,然后pc上编译,最后把编译的结果下载到arm中就可以运行了。不知道你说的本地编译是什么意思,通常所说的那种本地编译就是编译的结果还是在pc上运行,如果你期望的是这个的话,可以考虑修改一下编译器的参数,查一下gcc的说明就知道哪个参数是指定交叉编译平台的,把那个参数去掉就是本地编译了。但是,需要注意的是,这样多半不能成功运行,因为交叉编译到arm上的一般是基于某种特殊的linux平台的,即使你使用了linux平台,其中可能有一些函数也会不同的。。。

希望采纳

㈩ 交叉编译几种常见的报错

交叉编译器是一种可以在平台A上为另一种平台B编译程序的编译器。其中,运行交叉编译器的平台A称为宿主机,交叉编译生成的目标文件的运行平台B称为目标机。交叉编译器的编译过程称为交叉编译。
一个完整的arm-linux交叉编译器包括arm-linux-gcc、glibc、binutils等组件。其中,arm-linux-gcc是为ARM平台编译C程序的编译器;glibc是嵌入式C程序所需的基本函数库;binutils包含一组二进制工具。所以交叉编译器又称为交叉编译工具链。
由于交叉编译器中每个组件都有各自的版本,所以可以使用不同版本的组件来制作交叉编译器。但是,组件之间会因版本不匹配的问题二产生错误。为了避免这种麻烦,建议直接使用制作好的arm-linux交叉编译器。

热点内容
ftp命令批量下载文件 发布:2025-07-18 11:58:45 浏览:742
nba2k17文件夹 发布:2025-07-18 11:48:53 浏览:869
朔源码是什么 发布:2025-07-18 11:44:33 浏览:773
迷你世界解压剧场 发布:2025-07-18 11:43:48 浏览:153
linux安装opencv 发布:2025-07-18 11:42:10 浏览:445
编程游戏的软件有哪些 发布:2025-07-18 11:41:34 浏览:955
c程序设计语言电子书 发布:2025-07-18 11:35:58 浏览:641
lightning耳机如何在安卓手机上用 发布:2025-07-18 11:21:47 浏览:174
妄想山海新宿怎么配置好 发布:2025-07-18 11:07:43 浏览:615
androidsaxxml解析xml 发布:2025-07-18 10:57:58 浏览:386