qt5.2.1移植.docx_第1页
qt5.2.1移植.docx_第2页
qt5.2.1移植.docx_第3页
qt5.2.1移植.docx_第4页
qt5.2.1移植.docx_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Qt5.2.1嵌入式移植文档Qt+新唐N32905U1DN2014/03/30目录一:Qt在开发板运行测试二:Qt 简介三:Qt开发环境与跨平台四:Qt5.2.1移植,主机开发环境安装五:Qt5.2.1移植,交叉编译环境安装六:QtCreator交叉编译版本配置七:触摸屏tslib移植八:新唐开发板移植一:Qt在开发板运行测试1新唐N32905U1DN开发板启动状态2 Qt5.2.1交叉编译后测试程序运行图3 Qt5.2.1 彩色背景测试运行图4 Qt5.2.1 运行时开发板系统状态二:Qt 简介Qt是1991年奇趣科技开发的一个跨平台的C+图形用户界面应用程序框架,2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购,2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。1首先Qt 显著的特点之一:是一款基于c+的图形界面库。同样著名的还有基于c语言的 GTK 图形界 面库,Wxwigets以及windows的MFC等等。2其次Qt具有跨平台的能力,它在个人电脑,嵌入式系统上运行,也在不同操作系统,windows ,linux ,solaris ,mac,wince ,vxwork上运行,其跨平台实现方式属于一次编写多处编译(多处运行),但不同平台要重新编译,以将平台无关的东西转换为平台相关的东西。3目前 Digia已经发布Qt 5.2,支持Android、iOS平台,提供Windows RT功能预览,并推出了新的Qt移动工具包。Qt Library与Qt Creator 一般所说的qt工具包含这两者:Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)它包含:高级 C+ 代码编辑器,项目和生成管理工具集成的上下文相关的帮助系统图形化调试器代码管理和浏览工具等Qt Library是一个库,包含编译器,各种链接库Qt开发可以没有Qt Creator,但Qt Library是必不可少。Qt Creator作为Qt配套的集成开发环境供开发人员使用,但在一些平台也可以用visual studio,Eclipse等替代。除了Qt Library与Qt Creator两种包外,也还有Qt SDK安装包形式安装qt Library库需要下载后进行配置编译等等过程。而SDK下载后安装,环境就自动搭建好了,也就是傻瓜式安装包。SDK其中包括最新完整的 Qt库, Qt Creator以及 Qt Designer 等开发工具,目前也有几个平台提供了 Qt SDK。(但SDK通常未包含交叉编译工具,需再安装)下载页面:/downloads 三:Qt开发环境与跨平台目前由Qt所开发的软件产品中,有运行在windows之上,也有的运行在ubuntu等系统之上,甚至是嵌入式之上,实现了不同操作系统和平台的跨越。qt的跨平台实现:主要原理是在不同平台上实现了具有相同函数接口的lib库,使同一套qt代码在不同平台编译后,将平台无关的东西转化为本地平台相关的东西,使编译出的程序能够在本地平台上运行。与java,c#不同,qt这种方式属于一次编写多处编译。Qt Library与跨平台使用qt开发软件,要使同一套代码在不同平台上编译后能够在各平台正确运行,需要配置好qt开发编译环境使之与本地平台运行环境相符合。为此Qt官方网站提供了支持不同平台的Qt Library源码包,所以qt开发环境搭建一般需要下载与本地平台相关的Qt Library进行配置与编译,或者傻瓜式安装包。Qt版本划分:Win32版,适用于Windows平台;X11版,适合于使用了x系统的各种 linux 和 unix的平台;Mac版,适合于苹果MacOS;embedded版,适合于具有帧缓冲(frame buffer)的linux 的平台。 Qt泛指Qt的所有桌面版本,例如X11版 for Linux/X11 (230 MB) (Info) 适用于linux内核的ubuntu等桌面系统等。 Qt/E指Qt的嵌入式版本,例如embedded版 for embedded Linux (230 MB) (Info),适用于linux嵌入式。由于嵌入式受限的硬件环境往往难以运行庞大的X服务器,Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高。 Qtopia:一般命名为qtopia-opensource,最初是上的一个开源项目,全称是Qt Palmtop Environment,是构建于Qt/E之上一个类似桌面系统的应用环境,包括了PDA和手机等掌上系统常见的功能如电话簿、日程表等。现在Qtopia 已经成为了Trolltech的又一个主打产品,为基于Linux操作系统的PDA和手机提供了一个完整的图形环境。区别: Qt/E是嵌入式版基础类库,Qtopia是构建于Qt/E之上的一系列高级应用。相对于Qt桌面X11版,Qt/E不是通过X11绘画,而是直接到framebuffer或别的在QT4版本前要安装Qtopia需要先装Qt/E,但之后的就不需要了,4之后的Qtopia 已经带有QT/E库了。自从奇趣公司被Nokia收购,Qtopia已经逐渐停止了所有开发,因此qtopia-opensource-4.3.3是一个终结版。而QT/E的改名过程,Qte-Qtopia Core-Qt-embedded-linux-xxxx,例如现在embedded版 for embedded Linux (230 MB) (Info)所以在以往QT总体归纳三种:面向桌面的x11、面向嵌入式的Qt/E、以及面向嵌入式带各种应用程序的Qtopia桌面系统Qt5新版1.qt-everywhere-sourceqt-everywhere-source是Qt目前源码包的新改版,它用一套版本源代码统一了以前X11,Qt/E等分支版本,以往Qt不同平台环境搭建需要下载不同源码包编译。而用qt-everywhere-source只要configure时设置好了对应的平台以及交叉编译工具链就可以编译出各个平台上的Qt库例如Qt4.8.5版选择Qt libraries 4.8.5 for Linux/X11 (230 MB)(Info)或者Qt libraries 4.8.5 for embedded Linux (230 MB)(Info)都会得到qt-everywhere-opensource-src-4.8.5.tar.gz,资源包只需对qt-everywhere-opensource-src-4.8.5.tar.gz进行不同的配置就可以编译出X11桌面版和嵌入式版本参照/wiki/Category:HowTo:Qt_EmbeddedBuilding_Qt_for_Embedded_Linux文章/wiki/Qt_for_Embedded_Linux/2012/11/qt4-8-3-transplant/2.qt-opensource- .runqt-opensource-linux-x86-5.2.1.run 是linux平台下Qt5桌面版pc机安装包,包括最新完整的 Qt库, Qt Creator以及 Qt Designer 等开发工具四: Qt5.2.1移植,主机开发环境安装Ubuntu12.04系统下,Qt5.2. 1一键安装包 方法1使用qt-opensource-linux-x86-5.2.1.run直接安装(包含qtcreator)下载安装包,增加执行权限 chmod u+x qt-opensource-linux-x86-5.2.1.run 执行安装Sudo ./ qt-opensource-linux-x86-5.2.1.run安装g+:sudo apt-get updatesudo apt-get install build-essential 方法2 使用Qt5.2.1源码包编译及安装(无qtcreator)只建议用方法1安装,方法2麻烦易出错参考:/doc/qt-5/build-sources.html 五:Qt5.2.1移植,交叉编译环境安装Ubuntu12.04 32bit 1.下载qt-everywhere-opensource-src-5.2.1.tar.gz源码包 下载arm-linux-gcc-4.4.3.tar.gz包,(arm板编译工具)配置编译Qt源码包之前需预先安装,g+,opengl,xcb。2.在线升级安装sudo apt-get updateg+:sudo apt-get install build-essential xcb:sudo apt-get install libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-glx0-dev(可察看README中 Linux: On systems running X11, the XCB libraries are required for the platform plugin to build. qtbase/src/plugins/platforms/xcb)opengl: sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-devdbus: sudo apt-get install dbus-*dev:3.安装arm编译工具arm-linux-gcc:arm-linux-gcc-4.4.3.tar.gz包 :解压sudo tar -xvzf arm-linux-gcc-4.4.3.tar.gz C / 解压后得到/opt/FriendlyARM /目录添加环境 :将arm-linux-gcc工具链加入环境路径中: 打开sudo gedit /etc/bash.bashrc,在最后一行加入export PATH=”$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin”保存使环境变量生效: source /etc/bash.bashrc检查环境变量是否生效 :echo $PATH检查arm-linux-gcc是否生效: arm-linux-gcc v在ubuntu 64位系统需提前安装32位库,否则arm-linux-gcc v会失败,sudo apt-get install ia32-libs,出现错误可以检查执行文件位是否为32-bit file /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/bin/gcc然后检查系统是否也为32位:file /bin/ls 4. Qt源码包交叉编译(示例)Qt5.0.2以后采用了QPA插件跨平台,也就是说在新版本中qws已经无效,取消了embedded,而是用-xplatform指定目标板配置,以下采用版本5的新方法和QPA进行编译进入目录:解压tar -xvzf qt-everywhere-opensource-src-5.2.1.tar.gz 改名mv qt-everywhere-opensource-src-5.2.1 qt-5.2.1-armcd qt-5.2.1-arm cd ./qtbase/mkspecs说明:Qt5源码包进行编译所依赖的配置文件在mkspec目录中,本例 configure 交叉编译选项便指定为 xplatform linux-arm-test创建新配置目录:以一个linux-arm-test配置目录为例,将mkspecs目录下的linux-arm-gnueabi-g+复制为linux-arm-testcp linux-arm-gnueabi-g+ linux-arm-test r修改linux-arm-test配置cd linux-arm-test查看ls /opt/FriendlyARM/toolschain/4.4.3/bin查看目录下实际编译工具链名将linux-arm-test目录下qmake.config中的arm-linux-gnueabi-开头都更改为实际路径加工具链名:PATH+arm-none-linux-gnueabi- 如QMAKE_CC = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc再加入三行:QT_QPA_DEFAULT_PLATFORM = linuxfb #qpa图形插件,QMAKE_CFLAGS_RELEASE += -O2 -march=armv5te QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv5te说明1:QT_QPA_DEFAULT_PLATFORM选项是指定图形插件, Qt5将各平台底层抽象为一个 qpa 插件,通常在mac上是cocoa, 在window上是windows, 在linux X11下是xcb, 如果有OPENGL支持, 那么选eglfs。而对于无硬件加速的设备,则选择linuxfb,。 minimal仅仅是让程序跑通, 不起任何作用说明2:目标板为新唐N32905U1DN,cpu为arm936ejs,执行arm-linux-gcc target-help 查看交叉编译器所支持的架构,选择了其中比较接近的一个为armv5te修改qmake.conf文件:# qmake configuration for building with arm-linux-gnueabi-g+#MAKEFILE_GENERATOR = UNIXCONFIG += incremental gdb_dwarf_indexQMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxfb QMAKE_CFLAGS_RELEASE += -O2 -march=armv5te QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv5teinclude(./common/linux.conf)include(./common/gcc-base-unix.conf)include(./common/g+-unix.conf)# modifications to g+.confQMAKE_CC = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gccQMAKE_CXX = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g+QMAKE_LINK = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g+QMAKE_LINK_SHLIB = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g+# modifications to linux.confQMAKE_AR = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-ar cqsQMAKE_OBJCOPY = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-objcopyQMAKE_NM = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-nm -PQMAKE_STRIP = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-stripload(qt_config)保存qmake进入qt-5.2.1-arm目录下configure配置: 在qt-5.2.1-arm目录下 执行 sudo ./configure -prefix $PWD/qtbase -release -opensource -xplatform linux-arm-qt -nomake tests -no-largefile -qt-zlib -no-nis -qt-libpng -qt-libjpeg -qt-freetype(取消配置为 make confclean,make clean,)配置完成后打印信息为:Running configuration tests.Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set. Configure summaryBuilding on: linux-g+ (i386, CPU features:)Building for: linux-arm-qt (arm, CPU features:)Platform notes: - Also available for Linux: linux-kcc linux-icc linux-cxx Build options: Configuration . accessibility audio-backend c+11 clock-gettime clock-monotonic compile_examples concurrent cross_compile evdev eventfd freetype full-config getaddrinfo getifaddrs iconv inotify ipv6ifname large-config linuxfb medium-config minimal-config mremap no-harfbuzz no-pkg-config pcre png posix_fallocate precompile_header qpa qpa reduce_exports reduce_relocations release rpath shared small-config zlib Build parts . libs examples Mode . release Using C+11 . yes Using PCH . yes Target compiler supports: iWMMXt/Neon . no/noQt modules and options: Qt D-Bus . no Qt Concurrent . yes Qt GUI . yes Qt Widgets . yes JavaScriptCore JIT . yes (To be decided by JavaScriptCore) QML debugging . yes Use system proxies . noSupport enabled for: Accessibility . yes ALSA . no CUPS . no FontConfig . no FreeType . qt Iconv . yes ICU . no Image formats: GIF . yes (plugin, using bundled copy) JPEG . yes (plugin, using bundled copy) PNG . yes (in QtGui, using bundled copy) Glib . no GTK theme . no Large File . no mtdev . no Networking: getaddrinfo . yes getifaddrs . yes IPv6 ifname . yes OpenSSL . no NIS . no OpenGL . no OpenVG . no PCRE . yes (bundled copy) pkg-config . no PulseAudio . no QPA backends: DirectFB . no EGLFS . no KMS . no LinuxFB . yes XCB . no Session management . yes SQL drivers: DB2 . no InterBase . no MySQL . no OCI . no ODBC . no PostgreSQL . no SQLite 2 . no SQLite . yes (plugin, using bundled copy) TDS . no udev . no xkbcommon . no zlib . yes (bundled copy)NOTE: Qt is using double for qreal on this system. This is binary incompatible against Qt 5.1.Configure with -qreal float to create a build that is binary compatible with 5.1.Info: creating cache file /home/kvl/Qt521-arm/qtbase/.qmake.cacheQt is now configured for building. Just run make.Once everything is built, you must run make install.Qt will be installed into /home/kvl/Qt521-arm/qtbase/qtbasePrior to reconfiguration, make sure you remove any leftovers fromthe previous build.编译基本模块:在qt-5.2.1-arm目录下执行sudo makeqt5.2.1make后有Unknown module(s) in QT:quick错误,需要opengl支持,部分扩展功能会无法使用,但不支持opengl的嵌入式板上编译了opengl也可使用linuxfb插件运行,只是qml这些功能不会正常执行。检查:cd qt-5.2.1-arm/qtbase/bin ./qmake v 输出信息:Using Qt version 5.2.1 in qt-5.2.1-arm/qtbase/lib 检查:在qt-5.2.1-arm/qtbase/lib目录下执行 file libQtGui.so.5.2.1 输出中有ARM关键字编译其他模块(可选):以此图为说明:Qt5的各功能模块保持一定独立,以目录形式分布在源码目录中,configure配置编译的只是qtbase基础部分,make后会生成bin/qmake执行文件和lib中的动态库,如果需使用图中所示蓝色名字的其他模块功能,可按实际需求在各个目录下分别编译各模块动态库/opt/Qt521-arm/bin/qmake,可以生成Makefile文件,然后make编译,make install安装到lib目录下细节:webkit依赖于ICU(Unicode支持,软件国际化),假如需要编译webkit功能,在configure配置时必须使ICU被成功编译。而quick,qml与opengl有关,支持此模块也必须使opengl es2被成功编译,但即便成功编译,如果开发板不支持opengl es2图形硬件加速,也无法正常执行。要构建qt3D还需要先配置两个模块qtjsbackend(has v8),qtdeclarative。参考Qt5 on ARM platforms Introduction/node/8configure部分选项解释Qt Configure Options: /doc/qt-5/configure-options.html1. Opengl 图形程序接口2. opengl es是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计3. dbus: (进程间通信机制)4. ALSA高级(Linux声音架构)5. FontConfig 提供系统范围内字体设置6. FreeType字体引擎7. Iconv 多种国际编码格式之间进行文本内码的转换8. ICU (Unicode支持,软件国际化) QtWebkit requires ICU support to be present9. cups: sudo apt-get install cups foomatic-db system-config-printer (unix打印服务)10. mtdev触摸屏多点触摸协议11. openssl 为网络通信提供安全及数据完整性的一种安全协议,加密12. XCB libxcb provides an interface to the X Window System protocol, slated toreplace the current Xlib interface13. LinuxFB Framebuffer1是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备其他:QMAKE文档:/doc/qt-5/qmake-variable-reference.html#qmake-libs-opengl-es1-qmake-libs-opengl-es2 Configure配置参考: /doc/qt-5/configure-options.html六: QtCreator交叉编译版本配置1.下载qt-creator-opensource-linux-x86_.run安装包(32位ubuntu系统)chmod u+x qt-creator-opensource-linux-x86_.run 执行安装(qtcreator每个平台都有支持的版本下载,实际开发中为方便而直接安装了qt-opensource-linux-x86-5.2.1.run此步骤可省略)如果运行qtcreator出现写错误,修改目录.config权限,sudo chmod 777 /home/uname/.config R2.使用QtCreator配置多版本编译环境以例1为例:添加交叉编译版本在qtcreator中选择Tools/Option 在Build&Run中的Qt Version使用Add添加一个新版本,命名为Qt521-arm。添加交叉编译源码包qt-everywhere-opensource-src-5.2.1.tar.gz后的qmake执行文件/opt/qt521-arm/qtbase/bin/qmake选择Compilers 添加目标板的编译器/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-g+选择Kits,Add新建qt编译版本,将之前的交叉编译所需的Qt Version和Compile添加进来将/opt/qt521-arm/qtbase/bin目录中的qt.conf改为prefix=/opt/qt521-arm/qtbase/,这样qtcreator运行qmake时就能找到此目录下的mkspec进行配置。新建简单工程选择Qt-arm版本进行build编译测试arm环境下编译出现下面警告note: the mangling of va_list has changed in GCC 4.4 ,不是错误,网上解决方法在makefile里面加上这个编译选项:-Wno-psabi创建qtcreator桌面图标示例:执行以下命令创建一个App快捷方式:sudo gedit /usr/share/applications/qtcreator.desktop在gedit中输入以下代码:Desktop EntryName= QtCreator PlatformComment= QtCreator IDEExec= /opt/Qt5.2.1/Tools/QtCreator/binIcon= /opt/qt521arm2/qtbase/tests/auto/gui/image/qimage/images/image.xpmTerminal=falseStartupNotify=trueType=ApplicationCategories=Development在/usr/share/applications/目录下找到qtcreator.desktop右键copy to desktop七:触摸屏tslib移植1.下载tslib源码包2.解压,进入源码包目录下运行sudo ./tslib.sh tislib.sh 脚本需按各自环境编写:export CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gccexport CXX=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-g+export PREFIX=/usr/local/kvl/tslib./autogen.shecho ac_cv_func_malloc_0_nonnull=yesarm-linux.cache./configure -host=arm-linux -prefix=$PREFIX -cache-file=arm-linux.cache -enable-inputapi=nomakemake installinclude头文件和lib库安装在/usr/local/kvl/tslib目录中(以上步骤需指定CC,CXX完整路径,否则即使指定了host,在ubuntu中仍可能会默认为8086编译)3.编译Qt5.2.1的tslib插件进入qtbase/src/plugins/generic/tslib目录执行 sudo gedit pro加入tslib库路径 LIBS += -lts -I/usr/local/kvl/tslib/include -L/usr/local/kvl/tslib/lib生成MakeFile: /opt/qt521-arm/bin/qmake编译: make安装 make install (在源码包中qtbase/plugins/generic会生成libqtslibplugin.so插件库,对应在/usr/local/qt521-arm/plugins/generic目录下也生成strip压缩版同名插件库,插件库目录plugins将在后续步骤中拷贝到开发板作为必要的动态库使用)4.检查 file libqtslibplugin.so 是否有ARM关键字出现八:新唐开发板移植1.串口通信工具配置:2.开发板启动配置文件:/etc/profile开发板启动后会调用boot_script脚本3. 配置开发板qt程序以及tslib环境库bin,plugins将qtbase目录下的plugins和bin目录拷贝到开发板SD卡lib/qtlib在SD卡中创建目录lib/qtlib,将qtbase目录下lib中的qt动态库约18个so文件拷贝到qtlibarm-linux-gnueabi由于开发板自带程序是静态编译可直接启动,而本例qt程序是动态编译,需配置基本启动环境,先将ubuntu中arm-linux-gnueabi目录复制到开发板/lib中fonts将qtbase目录下lib中的fonts字体库拷贝到开发板preloadable_libiconv.so下载解压libiconv-1.11.tar.gz包,ubuntu下用arm-linux-gcc编译,要将生成的preloadable_libiconv.so拷贝到开发板的qtlib中,qt程序启动时会调用此库ts创建ts目录,找到之前编译的tslib库,将/usr/local/kvl/tslib目录下lib库中libts-1.0.so.0.0.0 文件 以及ts中的so库都拷贝到开发板ts目录中,在开发板中再用libts-1.0.so.0.0.0复制出另外两个文件libts-1.0.so.0和libts.so(这里复制成两个文件,简化了创建链接的步骤)将/usr/local/kvl/tslib/bin中的几个触摸屏测试程序拷贝到SD卡中将/usr/local/kvl/tslib/etc目录下ts.conf配置文件也拷贝到开发板ts目录中,修改内容如下图至此运行环境基本的库已经拷贝到开发板SD卡中4. 编写脚本设置动态库加载环境以及tslib运行环境(开发板启动后会调用boot_scripts脚本,SD卡挂载为/mnt/nand1-1)编写boot_scripts示例#!/bin/shecho create libecho $PATH(所有程序运行都需加载ld-2.15.so库,否则会出现错误No such file,此库在ubuntu以及Fedora等操作系统中目录安放标准不不统一,所以做了以下三个版本的#for)#create program load librariesmkdir /libchmod 777 /libcp /mnt/nand1-1/lib/arm-linux-gnueabi/lib/ld-2.15.so /lib#for Fedora/OpenSUSEln -s /lib/ld-2.15.so /lib/ld-linux.so.3#for Debian/Ubuntumkdir /lib/arm-linux-gnueabihf ln -s /lib/ld-2.15.so /lib/arm-linux-gnueabihf/ld-linux.so.3#forln -s /lib/ld-2.15.so /lib/ld-linux-armhf.so.3 (因为此开发板根文件系统占用了有限的内存空间,将动态库拷贝到/lib目录中会减少可用内存使qt程序运行很卡,所以替换方法为在/lib目录下创建各动态库链接)#create ln# cp /mnt/nand1-1/lib/arm-linux-gnueabi /lib -rmkdir /lib/arm-linux-gnueabi/lib pmkdir /lib/qtchmod 777 /lib/arm-linux-gnueabi/libchmod 777 /lib/qtln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/ld-2.15.so /lib/arm-linux-gnueabi/lib/ld-linux.so.3ln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libgcc_s.so.1 /lib/arm-linux-gnueabi/lib/libgcc_s.so.1ln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libmemusage.so /lib/arm-linux-gnueabi/lib/libmemusage.soln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libpcprofile.so /lib/arm-linux-gnueabi/lib/libpcprofile.soln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libpthread.so /lib/arm-linux-gnueabi/lib/libpthread.soln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libSegFault.so /lib/arm-linux-gnueabi/lib/libSegFault.soln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libanl-2.15.so /lib/arm-linux-gnueabi/lib/libanl.so.1ln -s /lib/arm-linux-gnueabi/lib/libanl.so.1 /lib/arm-linux-gnueabi/lib/libanl.soln -s /mnt/nand1-1/lib/arm-linux-gnueabi/lib/libBrokenLocale-2.15.so /lib/arm-linux-gnueabi/lib/libBrokenLocale.so.1ln -s /lib/arm-linux-gnuea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论