导航:首页 > 源码编译 > 交叉编译工具如何卸载

交叉编译工具如何卸载

发布时间:2023-07-22 23:22:09

❶ ubuntu12.04编译交叉编译已经安装,为什么还不能编译

1、解压交叉编译开发工具包
sudo
tar
xvzf
arm-linux-gcc-4.4.3.tar.gz
-C
/
解压工具链到根目录,这里的解压目录可以任意指定。系统中会增加目录/opt/FriendlyARM/toolschain/4.4.3/
2、修改环境变量,把交叉编译器的路径加入到PATH
采用修改/etc/bash.bashrc文件的方法(还可有别的方法)
①用vim打开文件:
#sudo
vim
/etc/bash.bashrc
②在最后面新建一行加上:
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
3、立即使新的环境变量生效,不用重启电脑:
#source
/etc/bash.bashrc
{
这是上面修改环境变量的另一种方法

$sudo
-i
输入自己的密码,这是进入超级用户权限

cd
/root/
vim
.bashrc

在最后加上
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
(路径)(注意等号那边不要有空格)

source
~/.bashrc
(立即生效)
(好像只能本终端,注销一下就永远都有这个环境变量的)
}
4、检查是否将路径加入到PATH
#echo
$PATH
若显示的内容中有刚刚添加的交叉编译器所在目录,则证明编译环境安装成功。
5、测试是否安装成功
指令:#arm-linux-gcc
-v
上面的指令会显示arm-linux-gcc信息和版本,显示的内容信息:
此时,证明安装成功。
6、编译实验
写个HelloWorld程序,测试交叉工具连
写下下面的HelloWorld程序,保存为hello.c
#include
int
main()
{
printf(“HelloWorld!\n”);
return0;
}
执行下面的指令:
#arm-linux-gcc-o
hello
hello.c
要是不报错说明安装成功。

❷ Linux安装uclibc交叉编译工具链的步骤如要将原先的glibc卸载吗

……肯定不能卸载原来的glibc,卸了之后整个系统都不能用了
你要编译的uclibc是linux->arm的和arm->arm的,glibc是给linux->linux用的

❸ sdcc版是啥意思

SDCC(Small Device C Compiler)是一个优化的 ANSI - C交叉编译器,目标CPU为基于Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的单片机

SDCC同时带有一个源代码级调试工具SDCDB,使用的是Daniel's s51仿真器当前版本。SDCC是由Sandeep Dutta 所写的,并依据GPL license 发行。

sdcc的特点:

1、SDCC的sdas和sdld 是基于ASXXXX的交叉编译工具和链接工具,他们都是免费开源的软件,依据GNU General Public License (GPL) 发布。

2、有针对特定MCU的编程语言扩展,可以高效的使用基本的硬件资源。

3、有大量的标准优化,如全局字表达式削减,循环优化(无任何操作的循环优化,归纳变量循环优化,逆循环优化), 常量合并的传播,复制传播,死代码删除, 'switch'语句的转移表优化。

4、针对特定MCU的优化,包括全局寄存器分配算法

5、特定MCU后端适应能力,能够很好的适配其他的8位的MCU。

(3)交叉编译工具如何卸载扩展阅读:


交叉编译出现和流行是和嵌入式系统的广泛发展同步的。常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。

比如,在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。

然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。

这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的CPU运算能力。

为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

要进行交叉编译,要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。

❹ Qt交叉编译遇到的问题

QT相关的安装软件包:

(1) tmake-1.13.tar.gz (编译工具,如progen与tmake)

(2) qt-embedded-2.3.7.tar.gz (提供了qte的库)

(3) qt-x11-2.3.2.tar.gz (为了生成相应的QT工具,如designer和qvfb等)

(4) qtopia-free-1.7.0.tar.gz (QTE的桌面环境程序)

(5) cross-3.3.2.tar.bz2 (交叉编译工具)

一、安装工具

1 安装 tmake

在 Linux 命令模式下运行以下命令:

tar xfz tmake-1.11.tar.gz

export TMAKEDIR=$PWD/tmake-1.11

export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++

export PATH=$TMAKEDIR/bin:$PATH

2 安装 Qt/Embedded 2.3.7

在 Linux 命令模式下运行以下命令:

tar xfz qt-embedded-2.3.7.tar.gz

cd qt-2.3.7

export QTDIR=$PWD

export QTEDIR=$QTDIR

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

./configure –qconfig local–qvfb -depths 4,8,16,32

make sub-src

cd ..

上述命令 ./configure -qconfig -qvfb -depths 4,8,16,32 指定 Qt 嵌入式开发包生成虚拟缓冲帧工具qvfb,并支持 4,8,16,32 位的显示颜色深度。另外我们也可以在 configure 的参数中添加-system-jpeg 和 gif,使 Qt/Embedded 平台能支持 jpeg、gif 格式的图形。

上述命令 make sub-src 指定按精简方式编译开发包,也就是说有些 Qt 类未被编译。Qt 嵌入式开发包有 5种编译范围的选项,使用这些选项,可控制 Qt 生成的库文件的大小,但是您的应用所使用到的一些 Qt 类将可能因此在 Qt 的库中找不到链接。编译选项的具体用法可运行./configure -help 命令查看。

在这一过程的configure中出现了问题:有一个变量没有声明,发现是少了一个头文件,加上即可,make顺利通过,看到了enjoy!

3 安装 Qt/X11 2.3.2

在 Linux 命令模式下运行以下命令:

tar xfz qt-x11-2.3.2.tar.gz

cd qt-2.3.2

export QTDIR=$PWD

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

./configure -no-opengl

make

make -C tools/qvfb

mv tools/qvfb/qvfb bin

cp bin/uic $QTEDIR/bin

cd ..

根据开发者本身的开发环境,也可以在 configure 的参数中添加别的参数, 比如-no-opengl 或-no-xfs,可以键入./configure -help 来获得一些帮助信息。

在这个安装过程中也出现了很多错误,典型的就是在make过程中:

/usr/local/qt-2.3.2/include/qvaluestack.h:57: error: cannot convert 'QValueListIterator<QMap<QString, QString> >' to 'const char*' for argument '1' to 'int remove(const char*)'

/usr/local/qt-2.3.2/include/qvaluestack.h: In member function 'T QValueStack<T>::pop() [with T = QString]':

xml/qxml.cpp:2502: instantiated from here

/usr/local/qt-2.3.2/include/qvaluestack.h:57: error: cannot convert 'QValueListIterator<QString>' to 'const char*' for argument '1' to 'int remove(const char*)'

make[2]: *** [xml/qxml.o] Error 1

make[2]: Leaving directory `/usr/local/qt-2.3.2/src'

make[1]: *** [sub-src] Error 2

make[1]: Leaving directory `/usr/local/qt-2.3.2'

make: *** [init] Error 2

这个错误是说,在文件qvaluestack.h的57行出错。改正方法是修改文件qt-2.3.2/ include/qvaluestack.h的 第57行,将remove( this->fromLast() );改为 this->remove( this->fromLast() );

修改时可能要更改文件权限,变成可写的,chmod 666 qvaluestack.h。然后make顺利通过,看到了enjoy。

二、交叉编译 Qt/Embedded 的库

开发居于 Qt/Embedded 的应用程序要使用到 Qt/Embedded 的库,编写的 Qt 嵌入式应用程序最终是在YLE270开发板上运行的,因此在把 Qt 嵌入式应用程序编译成支持 YLE270 的目标代码之前,需要两样东西,一个是 arm9 的 linux 编译器,另一个是经 arm9 的linux 编译器编译过的 Qt/Embedded 的库。安装交叉编译工具 cross-3.3.2 前面已经安装过了。

这一步主要是配置 Qt/Embedded2.3.7 的安装,Qt/Embedded 的安装选项有很多个,您可以在命令行下直接输入“./configure”来运行配置,这时安装程序会一步一步提示你输入安装选项。您也可以在“./configure”后输入多个安装选项直接完成安装的配置。在这些选项中有一个选项决定了编译 Qt/Embedded 库的范围,即可以指定以最小,小,中,大,完全 5 种方式编译 Qt/Embedded 库。另外 Qt/Embedded 的安装选项还允许我们自己定制一个配置文件,来有选择的编译 Qt/Embedded 库,这个安装选项是“-qconfig local” ;当我们指定这个选项时,Qt/Embedded库在安装过程中会寻找qt-2.3.7/src/tools/qconfig-local.h 这个文件,如找到这个文件,就会以该文件里面定义的宏,来编译链接 Qt/Embedded 库。

具体过程如下:

cd qt-2.3.7

export QTDIR=$PWD

export QTEDIR=$QTDIR

make clean

./configure –xplatform linux-arm-g++ -shared –debug (接下行)

-qconfig local -qvfb -depths 4,8,16,32

make

cd ..

在make中出现了错误,有变量没有声明,原来是优龙公司为了避免初学者在一开始就直接接触到 Qt/Embedde 的复杂的宏编译选项,把这些宏定义到一个名为 qconfig-local.h的安装配置文件中,在安装 Qt/Embedded 的时候,需要把这个文件复制到 Qt/Embedded 的安装路径的/src/tools 子路径下,

cp /配置文件所在路径/qconfig-local.h ./src/tools

make顺利通过,看到了enjoy。

最后就可以在命令行下输入make 命令对整个工程进行编译链接了,在这里,要把过程中产生的文件放在同一个文件夹里面,方便应用。

在最后make完毕以后我还是遇到了一个问题,就是生成的可执行文件不能运行,运行时提示:./hello cannot execute binary file,当然不能直接在自己的主机上运行了,因为生成的二进制文件要下到板子上运行的。接上液晶屏,板子上电,把生成的可执行文件下载到板子上,要chmod一下,不然权限不够,终于在液晶屏上看到了自己弄的小程序,好开心!

三、添加一个 Qt/Embedded 应用到 QPE

以hello,world!为例

1 在工作的机器上解包 qtopia

tar zxvf qtopia-free-1.7.x.tar.gz

cd qtopia-free-1.7.x

export QTDIR=$QTEDIR

export QPEDIR=$PWD

export PATH=$QPEDIR/bin:$PATH

注意在上面已经设定环境变量 QPEDIR 为 QPE 的安装(解包)路径。

2 建立 Hello,World 的例子程序的图标文件

方法是:制作一个 32 X 32 大小的 PNG 格式的图标文件,将该文件存放在$QPEDIR/pics/inline 目录下,然后使用以下命令将$QPEDIR/pics/inline 目录下的所有图形文件转换成为一个 c 语言的头文件,这个头文件包含了该目录下的图形文件的 rgb 信息。

qembed --images $QPEDIR/pics/inline/*.*

> $QPEDIR/src/libraries/qtopia/inlinepics_p.h

3 交叉编译 qtopia

在$QPEDIR 路径下,运行以下命令

cd src

./configure –platform linux-arm-g++

make

cd ..

在这一过程中也出现了比较大的错误,在make的时候又出现了error,是resource.cpp的174行的变量qembed_findImage没有声明,考虑到以前遇到的情况,推断可能是少了某个头文件,但是又不知道是哪一个,google了很久都没有找到解决办法,没办法只好点开src/libraries/qtopia下面的每一个头文件看了一遍,还是没有发现有含有这个变量的文件,继续google,然后发现了inlinepics_p.h中包含qembed_findImage,于是vi /usr/local/qtopia-free-1.7.0/src/libraries/qtopia/inlinepics_p.h,发现inlinepics_p.h是空白的,原来是

qembed --images $QPEDIR/pics/inline/*.*

> $QPEDIR/src/libraries/qtopia/inlinepics_p.h

出了错误,重新操作一遍这一步,再查看inlinepics_p.h,发现正常了,要继续交叉编译qtopia:

make clean

./configure –platform linux-arm-g++

❺ 如何更改ubuntu中交叉编译工具链

1.下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下,我把它下载到了我的个人文件夹里 /home/wrq
2. 解压 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹,进入该文件夹,将arm文件夹拷贝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
3. 修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最后加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
export PATH
方法二:修改/etc/profile文件:
# vim /etc/profile
增加路径设置,在末尾添加如下,保存/etc/profil文件:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
4. 立即使新的环境变量生效,不用重启电脑:
对应方法一:#source /root/.bashrc
对应方法二:# source /etc/profile
5. 检查是否将路径加入到PATH:
# echo $PATH
显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。至此,交
叉编译环境安装完成。
6. 测试是否安装成功
# arm-linux-gcc -v
上面的命令会显示arm-linux-gcc信息和版本,显示的信息:
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-
3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu
--prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm
-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable
-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-
languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
7.编译
Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为
hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了!接着可以输入file hello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。

❻ linux系统内核编译出错arm需要arm.h

交叉编译工具链的问题。在编译ARM架构的Linux内核时出现错误提示激卖缺少arm.h文件件,是由于交叉编译工具链的问题。解决该问题需简竖要安装针对ARM架构的交叉编译工具链,并设拦铅大置环境变量。Linux系统是一种自由、开放源代码的计算机操作系统。它是一种多用户、多任务、支持多线程和多CPU的操作系统。

❼ Ubuntu14.04 用arm-linux-gcc 4.4.3 配置交叉编译环境问题

安装步骤

1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了

❽ 如何更改ubuntu中交叉编译工具链

更改ubuntu中交叉编译工具链的操作步骤如下:

1. 下载软件包

从linaro的网站下载预编译二进制包,地址:https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10。

注意选择的版本,要使用linux下的哦。选择这个:gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2

2. 解压

解压gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz到 ~/arm-cross-toolchain/目录下

3. 设置环境变量

~$ vi .bashrc

在最后添加如下 2 行:

PATH=$PATH:/home/lxl/arm-cross-toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin

export PATH

请注意,第一行的$PATH后面是英文冒号,而冒号后面是你的cross-toolchain的可执行文件目录(bin目录)的绝对路径。这两句的意思就是将cross-toolchain的可执行文件路径加入系统环境变量PATH中。

4. 使环境变量 生效

~$ source .bashrc

5. 测试

阅读全文

与交叉编译工具如何卸载相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:142
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:732
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:301
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:890
app转账是什么 浏览:163