gec2410 QT 移值心得.

来源:互联网 发布:mac 访问文件夹 编辑:程序博客网 时间:2024/06/15 16:48

GEC2410自带的开发板是很老的QT了。我决定移值新的QT至开发板。

 

但我用arm-linux-gcc 4.3的交叉工具编译的任何程序都无法在板上运行。出现llegal instructio的错误,总之是关于EABI的东西,要从内核着手解决,太麻烦。没有办法。但用arm-linux-gcc 3.4.1的编译器编译的程序可以运行。那只有基于这个编译器来编译QT了。

 

we will go...我试了用arm-linux-gcc 3.4.1编译QT4.7,出现很多的错误,一时解决不了。但如果用arm-linux-4.3编译一路绿灯,跑起来心情格外舒畅,但可惜不能用于这个板。请不要怪我喜新厌旧,旧的东西问题太多。我后来在网上听到人家介绍qt 4.6.2配这个arm-linux-gcc 3.4.1不错,所以下载了qt-everywhere-opensource-src-4.6.2,准备编译。

 

好事多磨,得先注意以下三项,一项没处理好,也无法通过。除非你是品德赛过雷锋,运气好过李宇春。

 

1.要去掉-pch选项。百试万灵,千万不要再同经验过不去。

2.把   src/3rdparty/freetype/include/freetype/config/ftconfig.h 这个文件的第330行改一下

 

原来是:

"orr %0, %2, lsl #16/n/t" /* %0 |= %2 << 16 */

改成:

"orr %0, %0, %2, lsl #16/n/t" /* %0 |= %2 << 16 */

这是我网上找到的解决办法,不然会有以下错误:

standard input}: Assembler messages:
{standard input}:1587: Error: register or shift expression expected -- `orr r3,r2,lsl#16'
{standard input}:1597: Error: register or shift expression expected -- `orr r2,r3,lsl#16'
{standard input}:3206: Error: register or shift expression expected -- `orr r3,r1,lsl#16'
{standard input}:3219: Error: register or shift expression expected -- `orr r3,ip,lsl#16'
make[1]: *** [.obj/release-shared-emb-arm/qfontengine_ft.o] 错误 1
make[1]:正在离开目录 `/home/darkhero/src/qt-embedded-linux-opensource-src-4.6.0-arm/src/gui'

还有个错误2,总之都是这个问题引起的。

 

3. 在./configure时,要加上  -D__ARM_ARCH_4T__   选项,有的说是-D__ARM_ARCH_5TEJ__ ,但 2410应该是4T才对,这是ARM架构,用5T我是没有成功的。而且与我的需求也对不上号。

 

make...一路欢歌!!!!!!!!!!!!!!!!!!去下馆子吃个泡椒猪肝,哎,师付技术真不行。

原创粉丝点击