Linux系统:Ubuntu12.04
QT版本:4.7.4
交叉编译器版本:arm-linux-gcc 4.4.3
Qt-4.7.3-arm版本的qt编译完成之后,在qtcreator添加版本时PC版和x86版的一次通过,添加arm版本的qmake
rebuild出现如下错误:
Building debugging helper library in /home/fatcat/.local/share/data/Nokia/QtCreator/qtc-debugging-helper/120710381/
Running /usr/bin/make distclean...
rm -f gdbmacros.o
rm -f *~ core *.core
rm -f libgdbmacros.so.1.0.0
rm -f libgdbmacros.so libgdbmacros.so.1 libgdbmacros.so.1.0 libgdbmacros.a
rm -f Makefile
Running /usr/local/Trolltech/QtEmbedded-4.7.3-arm/bin/qmake-arm ...
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/usr/local/Trolltech/QtEmbedded-4.7.3-arm/mkspecs/qws/linux-arm-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.7.3-arm/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.7.3-arm/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.7.3-arm/include -I. -o gdbmacros.o gdbmacros.cpp
make: arm-linux-g++:命令未找到
make: *** [gdbmacros.o] 错误 127
网上大部分说是在/etc/profile中将交叉编译器的路径添加进来,但是我添加了,而且resource了,在终端下输入“arm-linux-gcc -v"后可以查看版本;该方法失效
找到了另一种解决方法:
先说我的交叉编译器的安装路径:/usr/local/arm/4.4.3
QtEmbedded-4.7.3-arm安装路径:/usr/local/Trolltech/QtEmbedded-4.7.3-arm
进入到/usr/local/Trolltech/QtEmbedded-4.7.3-arm/mkspecs/qws/linux-arm-g++目录下,可以看到qmake.conf,这就是我们要修改的
然后输入#gedit qmake.conf命令,可以看到内容如下
一开始我把画框的部分改成:
QMAKE_CC = /usr/local/arm/4.4.3/bin/gcc
QMAKE_CXX = /usr/local/arm/4.4.3/bin/g++
QMAKE_LINK = /usr/local/arm/4.4.3/bin/g++
QMAKE_LINK_SHLIB = /usr/local/arm/4.4.3/bin/g++
保存退出后,依然有错误,接着改
最后我把这几行改成:
QMAKE_CC = /usr/local/arm/4.4.3/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX = /usr/local/arm/4.4.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK = /usr/local/arm/4.4.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = /usr/local/arm/4.4.3/bin/arm-none-linux-gnueabi-g++
保存退出,然后重新打开qtcreator,添加arm版本,rebuild,成功!!!
根据交叉编译器的不同,修改的内容可能不同,注意随机应变。