硬件平台:Digilent ZedBoard + USB 摄像头+HDMI显示器
开发环境:ubuntu12.04
Zedboard linux: Digilent OOB Design
写这篇博客之前,一直都是按照超群晴天的博客系列,step by step ,直到基于ZedBoard的Webcam设计(二):USB摄像头图片采集+QT显示
QT./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -little-endian -opensource -host-little-endian -confirm-license -nomake demos -nomake examples
出现./configure: 行 7518: ${CROSS_COMPILE}g++: 未找到命令错误后,来来回回搞了3天,还是没有解决。没管他,继续make,居然没有错误。于是开始QT下建工程。
但是往下走还是出现错误。如下
QT进行make的时候出现一个错误:
root@jiong-To-be-filled-by-O-E-M:/opt/labs/Qt_labs/pic_qt# qmake -project
root@jiong-To-be-filled-by-O-E-M:/opt/labs/Qt_labs/pic_qt# qmake
root@jiong-To-be-filled-by-O-E-M:/opt/labs/Qt_labs/pic_qt# make
/usr/bin/uic-qt4 mainwindow.ui -o ui_mainwindow.h
make: /usr/bin/uic-qt4:命令未找到
make: *** [ui_mainwindow.h] 错误 127
我看了一下Makefile,这里面也有不同
CC = gcc
CXX = g++
刚开始以为就是前面那个错误导致的。所以又回去重装了,发现我的系统里面有好几个版本的QT。
结果还是一样。当时没有分析清楚到底时什么错误。
首先我的源码放在/home/jiong/qt目录下面,因为出错,试了好多源码包。
QT-craeter软件安装在:/opt/qtsdk-2010.05目录下,
源码包路径:/home/jiong/qt
QT安装路径:/usr/local/Trolltech/QtEmbedded-4.8.0-arm
交叉编译环境 export PATH=$PATH:/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin
所以几个环境变量为:
export PATH=$/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin:$PATH
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export ZYNQ_QT_BUILD=/home/jiong/qt //源码包路径
export ZYNQ_QT_INSTALL=/usr/local/Trolltech/QtEmbedded-4.8.0-arm //QT安装路径
export PATH=$ZYNQ_QT_INSTALL/bin$:PATH
最重要的是把qmake.conf配置文件复制到qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-arm-gnueabi-g++目录下,这个文件用来告知QMake应该用哪个编译器来编译QT工程。
然后./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -little-endian -opensource -host-little-endian -confirm-license -nomake demos -nomake examples
这么试了居然还是有./configure: 行 7518: ${CROSS_COMPILE}g++:错误
实在分析不出原因只好往下走
不管继续make
make install
之后将Xilinx交叉编译器中的基础C++库复制到QT的安装目录下:
cp -P /opt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib
QT建完工程后,qmake -project,qmake,make,还是和以前一样,没办法只好从这里下手找问题了。
仔细查看Makefile,这是我的
#############################################################################
# Makefile for building: pic_qt
# Generated by qmake (2.01a) (Qt 4.8.1) on: Thu Mar 28 16:10:25 2013
# Project: pic_qt.pro
# Template: app
# Command: /usr/bin/qmake -o Makefile pic_qt.pro
#############################################################################
这是超群晴天的
1 ############################################################################# 2 # Makefile for building: lab2_qt_camera 3 # Generated by qmake (2.01a) (Qt 4.7.3) on: Sun Dec 23 02:24:47 2012 4 # Project: lab2_qt_camera.pro 5 # Template: app 6 # Command: /usr/local/Trolltech/Qt-4.7.3/bin/qmake -o Makefile lab2_qt_camera.pro 7 ############################################################################
qmake命令的路径不同,修改路径/home/jiong/qt/qt-everywhere-opensource-src-4.8.0/bin/qmake -project 或者/usr/local/Trolltech/QtEmbedded-4.8.0-arm/bin/qmake
果然就可以了,不过还要修改程序错误。简单认为了一下:
可能由于系统自带了QT,电脑里有好多个qmake,不知到系统默认的是哪个,在qmake前面加上配置过的源码路径
/home/jiong/qt/qt-everywhere-opensource-src-4.8.0/bin/qmake -project
/home/jiong/qt/qt-everywhere-opensource-src-4.8.0/bin/qmake
确定一下。
接着就可一往下走了