如何编译可以在Arm平台上运行的可执行程序

如何编译可以在Arm平台上运行的可执行程序,第1张

1、建立交叉迟卜编译环境

1)修改根目录下opt文件夹属性

sudo chmod a+w /opt

2)解压我们找到的交叉编译工具链到/opt中

tar xf crosstool.tar.bz2 -C /opt

3) 修改bash配置文件(~/.bashrc)

在最后添加 export PATH=$PATH:/opt/crosstool/gcc-4.0.2-glibc-2.3.6/arm-linux/bin

说明:$PATH:后的内容根据自己的情况自己修改

2、测试是否交叉编译环境搭建成功

arm-linux-gcc -v

如果能笑旦拍打印出版本信息,代表环境搭建成功

3、编译我们的源碰羡代码

arm-linux-gcc hello.c -o hello

编译好的QT的程序,一般会有几个.CPP\.h文件,这么多的文件我们要怎么样编译。首先,我们需要安装QT版本的库,一定要注意,这个库文件一定和开发板上的是同一个库。我们假设这个库名字叫qtembed450-arm。以下步骤一定要注意:

1.安装目录一定要在“/usr/local/”下;

2.安装成功后,这步非常关键,一定要设置环境变量,而且,我们要设置三个环境变量,这样做有三个目的:①可以在任何路径下用库里的命令②编译时候可以指定编译规则为arm-linux-g++③编译时候可以指定到所需要的库文件。那么安装后,输入一下命令:gedit /root/.bashrc.这个命令执行后就进入到设置环境变量的地方,我们要加入以下三个环境变量的设置:

export PATH=$PATH:/usr/local/qtembed450-arm/bin

export LD_LIBRARY_PATH=$LD_LTBRARY_PATH:/usr/local/qtembed450-arm/lib

export QMAKESPEC=/usr/local/qtembed450-arm/mkspecs/default

以上设置非常的重要,非常的关键。呵呵,先照着设置,具体原因我会细谈。注意,我编译用的很重要的qmake-arm 命令,就在并带蠢/usr/local/qtembed450-arm/bin下,可以打开看看哦!环境变量设置好后,用which qmake-arm 命令来确认下是否成功,呵呵。

3.准备工作做到这里,算是进行一半了,哎,真累啊!还要接着写呢。接下来我们要把我们的编译好的QT程序的文件夹打开,把里面的 .CPP/.h文件拷贝出来,新建立一个文件夹;

4.把以上的文件里的.cpp .h文件复制后新建立一个文件夹。

5.新文件夹建立后,在linux终端中进入到该文件夹所在目录下,执行这个命令:qmake-arm -project命令,千万注意,-project 和arm之间一定要有空格啊!该命令执行后,会生成一个.pro文件,紧接着呢,执行qmake-arm命令,该命令执行后呢,会生成一个Makefile文件,这步很关键哦,没有这步行耐就不会有Makefile文件,一般在这步会出现很多错误,就是库没有发现之类,这个时候,一定要检查前面的步骤,仔细检查看是否是错误。我们这个时候打开Makefile文件看一下,会发现,里面的编译已经变成arm-linux-g++。这个时候,就踏实,接下来怎么办?还用问吗,直接make下就好了,哈哈,简单吧!看到上面的qtmyjpg文件了吗?这个是可以在开发板上运行的哦!接下来不用我说了吧,直接发送到开发板上执行,可以看到图片喽!

6.下到开发板上之后呢,通常会发现没有权限,执行chmod +x qtmyjpg 就可以了,但是注意,要执行这个qtmyjpg文件,一定要这样输入命令:./qtmyjpg -qws为什么需要加这个参数呢?很简单,你不加执行时会出现错误原因,自己看下吧,哈哈!

7.一般这个时候触摸屏需要矫正。进入“/usr/tslib/bin/”,查看里面的文件,有绝陪一个“ts-calibrate”文件,执行这个文件,./ts-calibrate 后,可以看到LCD屏幕上出现十字点,用触摸笔点一下就可以,至此,整个QT在LCD上显示整理完毕,花了我半下午时间加上对曹老师的请教,终于完成,嘿嘿!赶紧试试哦!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12377054.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存