天嵌 ARM开发社区

 找回密码
 注册
查看: 5258|回复: 19

编译ARM版本的Qt4出错

[复制链接]
xiaowanzi 发表于 2010-4-24 11:54:09 | 显示全部楼层 |阅读模式
本帖最后由 xiaowanzi 于 2010-4-24 12:12 编辑

建立Qt4开发平台,编译ARM版本的Qt4,在QtCreator设置qmake路径为/opt/EmbedSky/qt-4.5/__install/arm/bin/qmake点rebuild后出现
Running /usr/bin/make ...
arm-linux-g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DUSE_QT_GUI=1 -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/EmbedSky/qt-4.5/__install/arm/mkspecs/qws/linux-arm-g++ -I. -I/opt/EmbedSky/qt-4.5/__install/arm/include/QtCore -I/opt/EmbedSky/qt-4.5/__install/arm/include/QtGui -I/opt/EmbedSky/qt-4.5/__install/arm/include -I. -I. -o gdbmacros.o gdbmacros.cpp
make: arm-linux-g++: Command not found
make: *** [gdbmacros.o] Error 127
我的交叉编译器就是用的天嵌提供的4.3.3,arm-linux-g++ -v后显示已安装,那会是什么问题呢
 楼主| xiaowanzi 发表于 2010-4-28 08:53:07 | 显示全部楼层
怎么没人给解答一下呢
0354030w 发表于 2010-5-4 22:25:53 | 显示全部楼层
与环境变量有关吗?qmake -v 看看qmake是不是qt3,系统默认的是QT3的,在which qmake看看qmake是不是你设置的路径!
亚瑟王 发表于 2010-5-8 21:11:54 | 显示全部楼层
交叉编译器没有安装好。安装方法Qt开发手册第二章。
 楼主| xiaowanzi 发表于 2010-5-11 11:50:00 | 显示全部楼层
本帖最后由 xiaowanzi 于 2010-5-11 12:06 编辑

4# 亚瑟王
我就是按照QT开发手册第二章弄的呀,安装包也用的20091210这个,怎么会不对呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
亚瑟王 发表于 2010-5-11 18:27:17 | 显示全部楼层
有没有点击rebuild选项
 楼主| xiaowanzi 发表于 2010-5-11 20:19:44 | 显示全部楼层
6# 亚瑟王
点了,rebuild后出现

Running /usr/bin/make ...
arm-linux-g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DUSE_QT_GUI=1 -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/EmbedSky/qt-4.5/__install/arm/mkspecs/qws/linux-arm-g++ -I. -I/opt/EmbedSky/qt-4.5/__install/arm/include/QtCore -I/opt/EmbedSky/qt-4.5/__install/arm/include/QtGui -I/opt/EmbedSky/qt-4.5/__install/arm/include -I. -I. -o gdbmacros.o gdbmacros.cpp
make: arm-linux-g++: Command not found
make: *** [gdbmacros.o] Error 127
交叉编译器已经安装好了的
 楼主| xiaowanzi 发表于 2010-5-12 17:17:54 | 显示全部楼层
6# 亚瑟王
我改了一下qmake.conf文件,加上了路径地址
QMAKE_CC                = /opt/EmbedSky/4.3.3/bin/arm-linux-gcc
QMAKE_CXX               = /opt/EmbedSky/4.3.3/bin/arm-linux-g++
QMAKE_LINK              = /opt/EmbedSky/4.3.3/bin/arm-linux-g++
QMAKE_LINK_SHLIB        = /opt/EmbedSky/4.3.3/bin/arm-linux-g++
现在rebuild后出现exec: 3: arm-none-linux-gnueabi-g++: not found
make: *** [gdbmacros.o] Error 2
感觉是交叉编译器的原因,为什么这里会是arm-none-linux-gnueabi-g++: ?不应该是arm-linux-g++吗?
 楼主| xiaowanzi 发表于 2010-5-12 18:00:22 | 显示全部楼层
6# 亚瑟王
接着上面的继续,现在我把qmake.conf改为
QMAKE_CC                = /opt/EmbedSky/4.3.3/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX               = /opt/EmbedSky/4.3.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK              = /opt/EmbedSky/4.3.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = /opt/EmbedSky/4.3.3/bin/arm-none-linux-gnueabi-g++
点rebuild后,显示正确,但用qt creator编译程序,生成的可执行文件拷到开发板运行显示illegal instruction
然后我又把arm-none-linux-gnueabi-g++改回到arm-linux-g++,然后再__install/arm目录下自己建一个hello工程,执行qmake -project,qmake,make,生成可执行文件拷到开发板中可以执行,可这样的话qt creator那边rebuid后又出现exec: 3: arm-none-linux-gnueabi-g++: not found
感觉是哪个地方的编译器没匹配,内核和文件系统都是用的天嵌给的
arm-linux-g++  与arm-none-linux-gnueabi-g++有什么区别
亚瑟王 发表于 2010-5-13 17:51:21 | 显示全部楼层
安装交叉编译器的方法:
1、解压交叉编译器到PC的Linux中。
2、修改/etc/profile文件,添加刚刚解压的交叉编译器的的路径。
3、source /etc/profile,当前的终端即可使用arm-linux-gcc。
以上方法在Qt开发教程的第二章有详细讲解。
xuyuan1412 发表于 2010-6-22 11:18:55 | 显示全部楼层
楼主这个问题最后怎么解决的啊?
亚瑟王 发表于 2010-6-22 19:04:56 | 显示全部楼层
他没有回答。
xuyuan1412 发表于 2010-6-22 19:24:39 | 显示全部楼层
楼主说的这个qmake.conf文件在哪里啊?
 楼主| xiaowanzi 发表于 2010-6-23 14:36:20 | 显示全部楼层
13# xuyuan1412 [/
没解决呢。。。我后来重新下载了QT官网的安装程序
亚瑟王 发表于 2010-6-24 11:21:12 | 显示全部楼层
我现在闹不明白你们用的环境是怎么样的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-29 07:40 , Processed in 1.062500 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表