移植QT到ZedBoard(制作运行库镜像) 交叉编译

12 篇文章 0 订阅
9 篇文章 0 订阅
制作运行库

由于ubuntu的Qt运行库在/usr/local/Trolltech/Qt-4.7.3/下,由makefile可以看到引用运行库是

 INCPATH = -I/usr/local/Trolltech/Qt-4.7.3/mkspecs/default -I. -I/usr/local/Trolltech/Qt-4.7.3/include/QtCore -I/usr/local/Trolltech/Qt-4.7.3/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.3/include/QtGui -I/usr/local/Trolltech/Qt-4.7.3/include -I. -I. -I.

因此如果将编译后的可执行文件在ZedBoard上运行,也许早在相应的路径下找到运行库文件。Xilinx给出了Qt运行库镜像的制作方法:切换到qt-everywhere-opensource-src-4.7.3.tar.gz的解压路径,在控制台中输入

复制代码
dd if=/dev/zero of=qt_lib_ext4.img bs=1M count=80
mkfs.ext4 -F qt_lib_ext4.img
chmod go+w qt_lib_ext4.img
mount qt_lib_ext4.img -o loop /mnt
cp -rf /usr/local/Trolltech/Qt-4.7.3/* /mnt
chmod go-w qt_lib_ext4.img
umount /mnt
复制代码

 即可。能找到生成的库文件镜像文件qt_lib_ext4.img,使用时将其挂载到

/usr/local/Trolltech/Qt-4.7.3/

即可。

此时在/opt/zedboard/qt/build 下面的文件qt_lib.img就是qt的库文件啦
至此qt移植成功了。要把qt的程序在板卡上运行,必须需要一个可执行文件,已我们上一节的helloworld为例

在工程路径下,使用命令

qmake -project

生成新的工程文件lab2_qt_camera.pro。再使用

qmake

生成makefile文件,打开makefile文件可以看到

复制代码
  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 #############################################################################
  8 
  9 ####### Compiler, tools and options
 10 
 11 CC            = ${CROSS_COMPILE}gcc
 12 CXX           = ${CROSS_COMPILE}g++
 13 DEFINES       = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
 14 CFLAGS        = ${CROSS_COMPILE_CFLAGS} -I$(ZYNQ_QT_INSTALL)/include -DZYNQ -O2 -Wall -W -D_REENTRANT $(DEFINES)
 15 CXXFLAGS      = ${CROSS_COMPILE_CPPFLAGS} -I$(ZYNQ_QT_INSTALL)/include -DZYNQ -O2 -Wall -W -D_REENTRANT $(DEFINES)
 16 INCPATH       = -I/usr/local/Trolltech/Qt-4.7.3/mkspecs/default -I. -I/usr/local/Trolltech/Qt-4.7.3/include/QtCore -I/usr/local/Trolltech/Qt-4.7.3/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.3/include/QtGui -I/usr/local/Trolltech/Qt-4.7.3/include -I. -I. -I.
 17 LINK          = ${CROSS_COMPILE}g++
 18 LFLAGS        = -L$(ZYNQ_QT_INSTALL)/lib -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.3/lib
 19 LIBS          = $(SUBLIBS)  -L/usr/local/Trolltech/Qt-4.7.3//lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.3//lib -lQtNetwork -lQtCore -lpthread 
 20 AR            = ${CROSS_COMPILE}ar cqs
 21 RANLIB        = 
 22 QMAKE         = /usr/local/Trolltech/Qt-4.7.3/bin/qmake
 23 TAR           = tar -cf
 24 COMPRESS      = gzip -9f
 25 COPY          = cp -f
 26 SED           = sed
 27 COPY_FILE     = $(COPY)
 28 COPY_DIR      = $(COPY) -r
 29 STRIP         = ${CROSS_COMPILE}strip
 30 INSTALL_FILE  = install -m 644 -p
 31 INSTALL_DIR   = $(COPY_DIR)
 32 INSTALL_PROGRAM = install -m 755 -p
 33 DEL_FILE      = rm -f
 34 SYMLINK       = ln -f -s
 35 DEL_DIR       = rmdir
 36 MOVE          = mv -f
 37 CHK_DIR_EXISTS= test -d
 38 MKDIR         = mkdir -p
 39 
 40 ####### Output directory
 41 
 42 OBJECTS_DIR   = ./
 43 
 44 ####### Files
 45 
 46 SOURCES       = main.cpp \
 47         mainwindow.cpp \
 48         v4l2grab.c moc_mainwindow.cpp
 49 OBJECTS       = main.o \
 50         mainwindow.o \
 51         v4l2grab.o \
 52         moc_mainwindow.o
#之后省略
复制代码

使用的gcc是 ${CROSS_COMPILE}gcc,也就是arm-xilinx-linux-gnueabi-gcc,g++ 是${CROSS_COMPILE}g++,也就是arm-xilinx-linux-gnueabi-g++;因而编译后的可执行文件是可以再Zed上 运行的。再使用

make

生成可执行文件lab2_qt_camera。(可执行文件名默认和你的工程目录相同)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值