1、交叉编译完QT后编写一个程序
#include <QApplication>
#include <QDebug>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
qDebug()<<"hello world!";
return app.exec();
}
编译:/home/zhangshaoyan/App/qt-4.8.4-arm/bin/qmake -project
zhangshaoyan@linux-82yu:~/test> /home/zhangshaoyan/App/qt-4.8.4-arm/bin/qmake
QMAKESPEC has not been set, so configuration cannot be deduced.
Error processing project file: /home/zhangshaoyan/test/test.pro
导出以下:
export QMAKESPEC=/home/zhangshaoyan/App/qt-4.8.4-arm/mkspecs/linux-g++
再次编译
/home/zhangshaoyan/App/qt-4.8.4-arm/bin/qmake
编译
make
arm-linux-g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../App/qt-4.8.4-arm/mkspecs/linux-g++ -I. -I../App/qt-4.8.4-arm/include/QtCore -I../App/qt-4.8.4-arm/include/QtGui -I../App/qt-4.8.4-arm/include -I. -I. -o test.o test.cpp
arm-linux-g++ -Wl,-O1 -Wl,-rpath,/home/zhangshaoyan/App/qt-4.8.4-arm/lib -o test test.o -L/home/zhangshaoyan/App/qt-4.8.4-arm/lib -lQtGui -L/home/zhangshaoyan/App/qt-4.8.4-arm/lib -lQtNetwork -lQtCore -lpthread
修改qt-4.8.4-arm/mkspec/linux-g++/qmake.conf
这是仿照qt-4.8.4-arm/mkspec/linux-arm-gnueabi-g++/qmake.conf中改写的。
#
# qmake configuration for linux-g++
#
MAKEFILE_GENERATOR = UNIX
TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
/*增加开始*/
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++
QMAKE_LINK_SHLIB = arm-linux-g++
QMAKE_AR = arm-linux-ar cqs
QMAKE_OBJCOPY = arm-linux-objcopy
QMAKE_STRIP = arm-linux-strip
/*增加结束*/
load(qt_config)
#include <QApplication>
#include <QDebug>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
qDebug()<<"hello world!";
return app.exec();
}
编译:/home/zhangshaoyan/App/qt-4.8.4-arm/bin/qmake -project
zhangshaoyan@linux-82yu:~/test> /home/zhangshaoyan/App/qt-4.8.4-arm/bin/qmake
QMAKESPEC has not been set, so configuration cannot be deduced.
Error processing project file: /home/zhangshaoyan/test/test.pro
导出以下:
export QMAKESPEC=/home/zhangshaoyan/App/qt-4.8.4-arm/mkspecs/linux-g++
再次编译
/home/zhangshaoyan/App/qt-4.8.4-arm/bin/qmake
编译
make
arm-linux-g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../App/qt-4.8.4-arm/mkspecs/linux-g++ -I. -I../App/qt-4.8.4-arm/include/QtCore -I../App/qt-4.8.4-arm/include/QtGui -I../App/qt-4.8.4-arm/include -I. -I. -o test.o test.cpp
arm-linux-g++ -Wl,-O1 -Wl,-rpath,/home/zhangshaoyan/App/qt-4.8.4-arm/lib -o test test.o -L/home/zhangshaoyan/App/qt-4.8.4-arm/lib -lQtGui -L/home/zhangshaoyan/App/qt-4.8.4-arm/lib -lQtNetwork -lQtCore -lpthread
修改qt-4.8.4-arm/mkspec/linux-g++/qmake.conf
这是仿照qt-4.8.4-arm/mkspec/linux-arm-gnueabi-g++/qmake.conf中改写的。
#
# qmake configuration for linux-g++
#
MAKEFILE_GENERATOR = UNIX
TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
/*增加开始*/
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++
QMAKE_LINK_SHLIB = arm-linux-g++
QMAKE_AR = arm-linux-ar cqs
QMAKE_OBJCOPY = arm-linux-objcopy
QMAKE_STRIP = arm-linux-strip
/*增加结束*/
load(qt_config)