QT移植与开发环境搭建
- 格式:doc
- 大小:50.50 KB
- 文档页数:4
Qt5.4.1&QtCreator3.3.1配置Android开发环境1.搭建平台Win7 32位2.必备文件1). jdk-7u40-windows-i586下载链接:2). android-ndk-r8d-windows下载链接:3). android-sdk下载链接:4). qt-opensource-windows-x86-android-5.4.1下载链接:5). apache-ant-1.9.4-bin下载链接:3.安装配置步骤3.1 安装Qta.双击安装包进入安装界面b.之后会选择全部安装,安装路径选在D盘c.选择全部组建,以及源码d.同意协议e.下一步之后到安装界面Qt以及QtCreator安装完成!3.2 Java的JDK安装配置a.双击jdk-7u40-windows-i586安装包b.更改安装路径,装在D盘c.更改安装路径,装在D盘安装完成!配置环境变量A.右击计算机,选择属性B.选择高级系统设置C.选择环境变量D.在系统变量中找到Path,双击它,编辑Path,将Java的JDK路径加入到Path中我的JDK路径是D:\Program Files\Java\jdk1.7.0_40\bin。
根据个人的安装路径配置。
注意编辑Path时,要在原来的值后添加”;”(英文版分号),再添加你的路径。
E.在Win7开始菜单输入cmd,打开终端F.输入“java –version”(java后有一个空格),检查配置是否成功。
G.再设置两个环境变量,添加JAVA_HOME和CLASSPATHJAVA_HOME的值为D:\Program Files\Java\jdk1.7.0_40CLASSPATH的值为D:\Program Files\Java\jdk1.7.0_40\lib3.3 Android SDK安装直接解压SDK压缩包(我解压到E盘的Android文件夹)将adb所在路径(E:\Android\android-sdk\platform-tools)添加到环境变量。
Qt5C++GUI 界⾯开发环境配置详细教程本博客已暂停更新,需要请转新博客Qt 下载Qt 体积很⼤,有 1GB~3GB,官⽅下载通道⾮常慢,相信很多读者会崩溃,所以建议⼤家使⽤国内的镜像⽹站(较快),或者使⽤迅雷下载(很快)。
作为 Qt 下载教程,本⽂会同时讲解以上三种下载⽅式。
Qt 官⽅下载(⾮常慢)Qt 官⽹有⼀个专门的资源下载⽹站,所有的开发环境和相关⼯具都可以从这⾥下载,具体地址是:图1:Qt 官⽅下载⽹站截图archive 和 official_releases 两个⽬录都有最新的 Qt 开发环境安装包,我们以 archive ⽬录⾥的内容为例来说明。
点击进⼊ archive ⽬录,会看到四个⼦⽬录:⽬录说明archive各种 Qt 开发⼯具安装包,新旧都有(可以下载 Qt 开发环境和源代码)。
community_releases社区定制的 Qt 库,Tizen 版 Qt 以及 Qt 附加源码包。
development_releases开发版,有新的和旧的不稳定版本,在 Qt 开发过程中的⾮正式版本。
learning有学习 Qt 的⽂档教程和⽰范视频。
ministro迷你版,⽬前是针对 的版本。
official_releases正式发布版,是与开发版相对的稳定版 Qt 库和开发⼯具(可以下载Qt 开发环境和源代码)。
onlineQt 在线安装源。
snapshots 预览版,最新的开发测试中的 Qt 库和开发⼯具。
图2:进⼊ archive ⽬录我们再进⼊ qt ⼦⽬录 ,看到如下列表:⽬录说明vsaddin这是 Qt 针对 Visual Studio 集成的插件,本教程基本不使⽤ Visual Studio ,所以不需要插件。
qtcreator这是 Qt 官⽅的集成开发⼯具,但是 qtcreator 本⾝是个空壳,它没有编译套件和 Qt 开发库。
除了⽼版本的 Qt 4 需要⼿动下载qtcreator 、编译套件、Qt 开发库进⾏搭配之外,⼀般⽤不到。
使⽤QtCreator创建lvgl开发环境⼀、lvgl简介LVGL是⼀个开源图形库,⽤于创建和开发嵌⼊式系统GUI,它具有易于使⽤的图形元素、漂亮的视觉效果和低内存占⽤等特性。
官⽅地址:本⽂主要分享:如何在QtCreaotr下创建lvgl的开发环境,以及运⾏⼀个官⽅例⼦。
⽬前lvgl正在以⽕箭般的速度进⾏迭代开发,如下图所⽰:⼆、在QtCreator下创建lvgl的开发环境QtCreator是Qt官⽅开发的⼀个集成开发环境,⽤于开发基于Qt C++框架的软件。
同样的,lvgl也可以在QtCreaotr中进⾏lvgl相关程序的设计、⼯程的编译和构建。
创建环境时需要准备⼀下:(1)安装QtCreator ------笔者的为QtCeeator 4.14.2(2)获取SDL2 ------url地址如下:(3)获取lvgl源码 ------ url地址如下:这⾥笔者选择的release/v7(2-1)在QtCreator中创建⼯程⽣成⼯程如下:(2-2)向⼯程中添加lvgl源码现在在QtCreator中创建了⼀个lvgl_pc_7项⽬,接下来将介绍如何将lvgl添加到该⼯程下。
将下载的lvgl安装包解压后,将⽬录src(lvgl的源码⽬录)、example(lvgl的⼀些使⽤例⼦)⽬录、lv_conf_template.h和lvgl.h⽂件拷贝到lvgl_pc_7⽬录下。
将⽂件lv_conf_template.h重命名为lv_conf.h,并将⽂件中内容打开(代码开始⾏处将0替换为1,使能该宏下的代码)将SDL2⽬录也同样拷贝到lvgl_pc_7⽬录下。
根据其⽬录下xxx_template.h的模板⽂件重新复制,然后对其内容进⾏配置。
(注意:对于lv_drivers和lv_demos以及lvgl源码⽬录下都有详细使⽤步骤)完成后,⽬录结构如下图所⽰:向QtCreator添加源码:(1)添加lvgl的源码(2)添加lv_drivers相关⽂件:display⽬录下的⽂件monitor.h/.c ;indev⽬录下mouse.h/.c mousewheel.h/.c keyboard.h/.c(3)添加演⽰⽰例⽂件:这⾥以lv_demo_widgets.h为例,故lv_demo_widgets.h/.c⽂件添加到⼯程中(4)添加⿏标数据⽂件mouse_cursor_icon.c完成后,QtCreaotr中项⽬结构图如下:(注1)在创建⼯程中,可能由于源码⽬录的移动或者删除,有些源码⽂件中会出现错误头⽂件引⼊路径。
Qt环境搭建之vs2005qt-4.7.1-wince库的编译1)解压qt-everywhere-opensource-src-4.7.1.tar.gz至想安装的目录,如c:\Qt\qt-4.7.1-wince,注意此目录最好短一些,并且不要加空格。
2)在C:\Qt\qt-4.7.1-wince\src\corelib\global目录添加qconfig.h和qconfig.cpp文件,文件内容附后。
3)进入Visual Studio 2005命令行,开始配置和编译,过程如下①配置环境变量PATH C:\Qt\qt-4.7.1-wince\bin\;%PATH%②进入安装目录C:cd C:\Qt\qt-4.7.1-wince③配置编译选项configure -platform win32-msvc2005 -xplatform wince50standard-mipsii-msvc2005 ④设置 wince sdk 的包含文件、库文件、执行文件的路径bin\checksdk.exe -sdk "HSBC_1254 (MIPSII)" -script tmp.battmp.bat④开始编译nmake附qconfig.h和qconfig.cpp/*************qconfig.h*************//* Everything */#ifndef QT_DLL#define QT_DLL#endif/* License information */#define QT_PRODUCT_LICENSEE "Open Source"#define QT_PRODUCT_LICENSE "OpenSource"// Qt Edition#ifndef QT_EDITION# define QT_EDITION QT_EDITION_OPENSOURCE#endif#if defined(__SYMBIAN32__)# define QT_BUILD_KEY "Symbian full-config"#else# if (!QT_NO_DEBUG)# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))# define QT_BUILD_KEY "Windows x64 msvc debug full-config"# else# define QT_BUILD_KEY "Windows msvc debug full-config"# endif# else# if (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))# define QT_BUILD_KEY "Windows x64 msvc release full-config"# else# define QT_BUILD_KEY "Windows msvc release full-config"# endif# endif#endif/* Machine byte-order */#define Q_BIG_ENDIAN 4321#define Q_LITTLE_ENDIAN 1234#define Q_BYTE_ORDER Q_LITTLE_ENDIAN// Compile time features#define QT_ARCH_WINDOWSCE#if defined(QT_GRAPHICSSYSTEM_RASTER) && defined(QT_NO_GRAPHICSSYSTEM_RASTER) # undef QT_GRAPHICSSYSTEM_RASTER#elif !defined(QT_GRAPHICSSYSTEM_RASTER)# define QT_GRAPHICSSYSTEM_RASTER#endif#if defined(QT_NO_DBUS) && defined(QT_DBUS)# undef QT_NO_DBUS#elif !defined(QT_NO_DBUS)# define QT_NO_DBUS#endif#if defined(QT_NO_EXCEPTIONS) && defined(QT_EXCEPTIONS)# undef QT_NO_EXCEPTIONS#elif !defined(QT_NO_EXCEPTIONS)# define QT_NO_EXCEPTIONS#endif#if defined(QT_NO_FREETYPE) && defined(QT_FREETYPE)# undef QT_NO_FREETYPE#elif !defined(QT_NO_FREETYPE)# define QT_NO_FREETYPE#endif#if defined(QT_NO_IMAGEFORMAT_JPEG) && defined(QT_IMAGEFORMAT_JPEG)# undef QT_NO_IMAGEFORMAT_JPEG#elif !defined(QT_NO_IMAGEFORMAT_JPEG)# define QT_NO_IMAGEFORMAT_JPEG#endif#if defined(QT_NO_IMAGEFORMAT_MNG) && defined(QT_IMAGEFORMAT_MNG)# undef QT_NO_IMAGEFORMAT_MNG#elif !defined(QT_NO_IMAGEFORMAT_MNG)# define QT_NO_IMAGEFORMAT_MNG#endif#if defined(QT_NO_IMAGEFORMAT_TIFF) && defined(QT_IMAGEFORMAT_TIFF)# undef QT_NO_IMAGEFORMAT_TIFF#elif !defined(QT_NO_IMAGEFORMAT_TIFF)# define QT_NO_IMAGEFORMAT_TIFF#endif#if defined(QT_NO_OPENGL) && defined(QT_OPENGL)# undef QT_NO_OPENGL#elif !defined(QT_NO_OPENGL)# define QT_NO_OPENGL#endif#if defined(QT_NO_OPENSSL) && defined(QT_OPENSSL)# undef QT_NO_OPENSSL#elif !defined(QT_NO_OPENSSL)# define QT_NO_OPENSSL#endif#if defined(QT_NO_OPENVG) && defined(QT_OPENVG)# undef QT_NO_OPENVG#elif !defined(QT_NO_OPENVG)# define QT_NO_OPENVG#endif#if defined(QT_NO_STL) && defined(QT_STL)# undef QT_NO_STL#elif !defined(QT_NO_STL)# define QT_NO_STL#endif#if defined(QT_NO_STYLE_CDE) && defined(QT_STYLE_CDE)# undef QT_NO_STYLE_CDE#elif !defined(QT_NO_STYLE_CDE)# define QT_NO_STYLE_CDE#endif#if defined(QT_NO_STYLE_CLEANLOOKS) && defined(QT_STYLE_CLEANLOOKS) # undef QT_NO_STYLE_CLEANLOOKS#elif !defined(QT_NO_STYLE_CLEANLOOKS)# define QT_NO_STYLE_CLEANLOOKS#endif#if defined(QT_NO_STYLE_GTK) && defined(QT_STYLE_GTK)# undef QT_NO_STYLE_GTK#elif !defined(QT_NO_STYLE_GTK)# define QT_NO_STYLE_GTK#endif#if defined(QT_NO_STYLE_MOTIF) && defined(QT_STYLE_MOTIF)# undef QT_NO_STYLE_MOTIF#elif !defined(QT_NO_STYLE_MOTIF)# define QT_NO_STYLE_MOTIF#endif#if defined(QT_NO_STYLE_PLASTIQUE) && defined(QT_STYLE_PLASTIQUE) # undef QT_NO_STYLE_PLASTIQUE#elif !defined(QT_NO_STYLE_PLASTIQUE)# define QT_NO_STYLE_PLASTIQUE#endif#if defined(QT_NO_STYLE_S60) && defined(QT_STYLE_S60)# undef QT_NO_STYLE_S60#elif !defined(QT_NO_STYLE_S60)# define QT_NO_STYLE_S60#endif#if defined(QT_NO_STYLE_WINDOWSVISTA) && defined(QT_STYLE_WINDOWSVISTA)# undef QT_NO_STYLE_WINDOWSVISTA#elif !defined(QT_NO_STYLE_WINDOWSVISTA)# define QT_NO_STYLE_WINDOWSVISTA#endif#if defined(QT_NO_STYLE_WINDOWSXP) && defined(QT_STYLE_WINDOWSXP)# undef QT_NO_STYLE_WINDOWSXP#elif !defined(QT_NO_STYLE_WINDOWSXP)# define QT_NO_STYLE_WINDOWSXP#endif#if defined(QT_NO_WEBKIT) && defined(QT_WEBKIT)# undef QT_NO_WEBKIT#elif !defined(QT_NO_WEBKIT)# define QT_NO_WEBKIT#endif#if defined(QT_NO_XMLPATTERNS) && defined(QT_XMLPATTERNS)# undef QT_NO_XMLPATTERNS#elif !defined(QT_NO_XMLPATTERNS)# define QT_NO_XMLPATTERNS#endif/*************qconfig.cpp*************//* Licensed */static const char qt_configure_licensee_str [512 + 12] = "qt_lcnsuser=Open Source";static const char qt_configure_licensed_products_str [512 + 12] = "qt_lcnsprod=OpenSource";/* Build date */static const char qt_configure_installation [11 + 12] = "qt_instdate=2011-09-03";static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=C:\\qt\\qt-4.7.1-wince";static const char qt_configure_documentation_path_str [512 + 12] = "qt_docspath=C:\\qt\\qt-4.7.1-wince\\doc";static const char qt_configure_headers_path_str [512 + 12] = "qt_hdrspath=C:\\qt\\qt-4.7.1-wince\\include";static const char qt_configure_libraries_path_str [512 + 12] = "qt_libspath=C:\\qt\\qt-4.7.1-wince\\lib";static const char qt_configure_binaries_path_str [512 + 12] = "qt_binspath=C:\\qt\\qt-4.7.1-wince\\bin";static const char qt_configure_plugins_path_str [512 + 12] = "qt_plugpath=C:\\qt\\qt-4.7.1-wince\\plugins";static const char qt_configure_imports_path_str [512 + 12] = "qt_impspath=C:\\qt\\qt-4.7.1-wince\\imports";static const char qt_configure_data_path_str [512 + 12] ="qt_datapath=C:\\qt\\qt-4.7.1-wince";static const char qt_configure_translations_path_str [512 + 12] = "qt_trnspath=C:\\qt\\qt-4.7.1-wince\\translations";static const char qt_configure_examples_path_str [512 + 12] = "qt_xmplpath=C:\\qt\\qt-4.7.1-wince\\example";static const char qt_configure_demos_path_str [512 + 12] = "qt_demopath=C:\\qt\\qt-4.7.1-wince\\demos";/* strlen( "qt_lcnsxxxx") == 12 */#define QT_CONFIGURE_LICENSEE qt_configure_licensee_str + 12;#define QT_CONFIGURE_LICENSED_PRODUCTS qt_configure_licensed_products_str + 12; #define QT_CONFIGURE_PREFIX_PATH qt_configure_prefix_path_str + 12;#define QT_CONFIGURE_DOCUMENTATION_PATH qt_configure_documentation_path_str + 12; #define QT_CONFIGURE_HEADERS_PATH qt_configure_headers_path_str + 12;#define QT_CONFIGURE_LIBRARIES_PATH qt_configure_libraries_path_str + 12;#define QT_CONFIGURE_BINARIES_PATH qt_configure_binaries_path_str + 12;#define QT_CONFIGURE_PLUGINS_PATH qt_configure_plugins_path_str + 12;#define QT_CONFIGURE_IMPORTS_PATH qt_configure_imports_path_str + 12;#define QT_CONFIGURE_DATA_PATH qt_configure_data_path_str + 12;#define QT_CONFIGURE_TRANSLATIONS_PATH qt_configure_translations_path_str + 12; #define QT_CONFIGURE_EXAMPLES_PATH qt_configure_examples_path_str + 12;#define QT_CONFIGURE_DEMOS_PATH qt_configure_demos_path_str + 12;1. 环境简介PC Windows XPQt 4.7.1IDE Microsoft Visual Studio 20052. 所需安装文件①. VS2005_DVD.iso <Microsoft Visual Studio 2005安装包>②. qt-sdk-win-opensource-2010.05.exe <包含qt creator 2.0.1和qt4.7.0库,qt creator是qt的集成开发环境,qt库是用mingw编译的>③. qt-4.7.1-wince.rar <wince的qt库,由vs2005编译生成>④. HSBC_1254_SDK.msi <wince的SDK>3. 安装1)安装qt-sdk-win-opensource-2010.05.exe ,可选其他路径,这里选的是C:\Qt\qt-sdk-2010.05(下文简称该路径为“安装目录”,请对号入座)。
Qt嵌入式开发环境搭建一、Qt版本介绍按照不同的图形界面来划分,分为四个版本:1、Win32版:适用于windows平台2、X11版:适用于各种X系统的Linux和Unix平台3、Mac版:适用于苹果的MacOS4、Embedded版:适用于具有帧缓冲(Frame buffer)的linux 平台Qtopia是基于qt开发的一个软件平台,Qtopia是构建于Qt/E 之上的一系列应用程序,在这个平台上我们可以开发各种应用程序。
2008年,TrollTech公司被Nokia收购后,Qtopia被重新命名为Qt Extended。
Nokia在推出了Qt Extended的最新版Qt Extended 4.4.3之后的2009年3月3日,决定停止Qt Extended的后续开发,转而全心投入Qt的产品开发,并逐步会将一部分Qt Extended 的功能移植到Qt的开发框架中。
所以总的来说,QT也就三种:面向桌面的x11、面向嵌入式的Qt/E、以及面向嵌入式带各种应用程序的Qtopia桌面系统二、比如是Qt的各种版本介绍1、Qt的安装程序(包含了QtCreator,QtAssistant)Windows--x86--msvc2012_64_opengl :表示window平台,msvc2012可以与VS2012进行结合使用,64位应用程序,要求电脑装的是64位操作系统;opengl表示支持openGL的绘图模式Windows--x86--mingw48_opengl :window平台下的mingw48编译器进行编译。
2、Qt的库的源码包3、Qt安装包的下载网址:如果想下载Qt的以前版本,可以在上面网址的最下面的一栏有个Archive for old versions ,进去就可以下载qt的以前版本了。
三、嵌入式Qt开发环境的搭建1.预备知识,嵌入式qt开发环境的安装方法很多,qt的版本也很多。
有点让人不知所措,不知该按哪种方法去安装。
Qt开发环境下载和安装(2015.01.18 by Winland)Qt是跨平台的图形开发库,目前由Digia全资子公司Qt Company 独立运营,官方网址:http://www.qt.io/也可以访问Qt项目域名:/Qt本身支持众多操作系统。
从通用操作系统Linux、Windows,到手机系统Android、iOS、WinPhone,嵌入式系统支持QNX、VxWorks,应用非常广泛。
基于Qt的软件非常多,其中最知名的要数Linux桌面系统KDE(涵盖无数以K打头的应用软件)。
国内WPS for Linux版本、360 for Linux也是使用Qt库开发的界面。
只要有C++基础,Qt是很容易学的,而且开发跨平台的程序也容易。
目前主流使用的Qt库有Qt4和Qt5两个大版本,下面介绍其在Windows系统里的下载和安装。
一、Qt4开发环境下载安装首先进入下载页面http://www.qt.io/download/有四个使用方式,开源社区版、移动版、专业版、企业版,后面几个要钱的,这里选择第一个GPL/LGPL的下载就行了。
进入开源版页面:http://www.qt.io/download-open-source/上面大按钮Download Now是下载在线安装版,其实只是一个下载工具,并不是真正的Qt开发库。
可以自己下载离线安装包,注意页面的“View All Downloads”,点开之后就能看到离线包。
目前看到的全是Qt5.4.0版本的,那Qt4的在哪呢?把上面页面拖到最下面:旧版本包就是最后一个链接:http://download.qt.io/archive/打开之后可以看到四个目录:vsaddin是VisualStudio集成插件,qtcreator是Qt官方的集成开发环境,qt就是各种新老版本下载位置,online_installers就是在线安装工具。
在Qt4的时候,Qt开发环境包括3个基本部分:Qt Framework(Qt库)、QtCreator(IDE)和MinGW(编译调试),都要分别下载安装并配置,比较麻烦。
移植QT5.6到嵌⼊式开发板(史上最详细的QT移植教程)⽬前⽹上的⼤多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更⽼的 Qtopia ,但是⽬前 Qt 已经发展到最新的 5.7 版本了,我个⼈也已经使⽤了很长⼀段时间的 qt5.6 for windows ,本⽂就来介绍⼀下QT在嵌⼊式环境的搭建。
移植以到 JZ2440 为例,使⽤韦⽼⼤提供的 ubuntu9.10 虚拟机作为移植环境。
当然,其它虚拟机也是可以的,我同样在 ubuntu14.04 移植成功,只不过需要额外装⼀些库,后⾯我会简单提及。
此外,我尝试使⽤ 4.3.2 版本的交叉编译⼯具编译 Qt5.6 ,编译过成功很多错误,编译成功之后使⽤ qt 编译应⽤程序时也存在问题,因此我是⽤的是友善提供的 4.4.3 版本的交叉编译⼯具。
建议新⼿使⽤与我相同的编译环境。
因为我们更换了编译⼯具,因此,我们有接下来的4个⼯作。
1、重新编译内核2、制作⽂件系统3、移植tslib4、移植qt⼀、更换交叉编译器⾸先,将下载好的⽂件全部放在 /work ⽬录下1、解压交叉编译器sudo tar zxvf arm-linux-gcc-4.4.3.tar.gz -C / #展开在根⽬录ls /opt/FriendlyARM/toolschain/4.4.3/bin #检查是否⽣成了编译⽬录2、设置环境变量sudo vi /etc/environment将现在原有的交叉编译器路径替换为我们新解压的交叉编译器,举例:1. #PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin"//注释2. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.4.3/bin" //增加后期测试时我发现这⾥是有问题的,由于我的安装⽬录都指定的是 usr ⽬录,需要 root 权限,然⽽在 environment 中设置的环境变量导致使⽤ root 权限 make install 过程中出现了个别的 command not found ,于是我将环境变量放到了 /etc/profile 中,这个⽂件是对所有⽤户⽣效的。
Mac下Qt的环境搭建1、分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了。
2、下载Qt并默认安装前者是Qt release版的SDK,必须安装;后者是debug版的SDK,可选安装,如果⽤户需要单步断点调试,则必须安装。
3、配置Qt(1)运⾏Qt Creator。
进⼊“菜单","Qt Creator","偏好设置"。
可以看到,”编译器“和”调试器“,已经默认设置好了。
(2)⽤户需要⼿动配置Qt版本(3)再次进⼊”偏好设置“,⽤户需要⼿动配置构建套件。
4、附录,关于LLVM和ClangLow Level Virtual Machine (LLVM) 是⼀个开源的编译器,它已经被成功应⽤到多个应⽤领域。
Clang ( 发⾳为 /klæŋ/) 是 LLVM 的⼀个编译器前端,它⽬前⽀持 C, C++, 以及 ++ 等编程语⾔。
Clang 对源程序进⾏词法分析和语义分析,并将分析结果转换为 Abstract Syntax Tree (抽象语法树 ) ,最后使⽤ LLVM 作为后端代码的⽣成器。
Clang 的开发⽬标是提供⼀个可以替代 GCC 的前端编译器。
与 GCC 相⽐,Clang 是⼀个重新设计的编译器前端,具有⼀系列优点,例如模块化,代码简单易懂,占⽤内存⼩以及容易扩展和重⽤等。
由于 Clang 在设计上的优异性,使得 Clang ⾮常适合⽤于设计源代码级别的分析和转化⼯具。
Clang 也已经被应⽤到⼀些重要的开发领域,如 Static Analysis 是⼀个基于 Clang 的静态代码分析⼯具。
Clang 的开发背景 : 由于 GNU 编译器套装 (GCC) 系统庞⼤,⽽且 Apple ⼤量使⽤的 Objective-C 在 GCC 中优先级较低,同时 GCC 作为⼀个纯粹的编译系统,与 IDE 配合并不优秀,Apple 决定从零开始写 C family 的前端,也就是基于 LLVM 的 Clang 了。
QT4.8.7和VS2010环境搭建及使⽤(⼀)环境搭建⾸先下载QT4.8.7的安装包、QT Addin 1.11插件和VS2010安装包。
第⼀步:安装好VS2010第⼆步:安装QT4.8.7(qt-opensource-windows-x86-vs2010-4.8.7.exe)刚刚安装了⼀下,所有的配置都不⽤改,按照步骤来就⾏。
第三步:安装QT Addin 1.11插件(qt-vs-addin-1.1.11-opensource)插件也是什么都不⽤改,按照默认配置进⾏安装。
QT Addin 1.11安装完成之后,就可以在VS⾥⾯进⾏QT项⽬的开发了。
第四步:配置VS2010然后介绍怎么配置VS2010中的QT⽬录。
打开VS2010,发现菜单栏多了QT的菜单。
然后点击QT菜单项,选择QT Options选项。
然后按照下图中的步骤,点击Add,然后选择QT的安装⽬录,最后点击确定就可以了。
(通常在前⾯的插件都装好的情况下,此处会⾃动设置)第五步:安装Visual Assist X并配置。
⾸先安装Visual Assist X的安装包,按照默认安装即可。
然后重新打开VS2010,发现菜单项多了VAssistX。
然后,点击VAssistX菜单,并选择Visual Assist Options选项。
然后按照下⾯的步骤,依次点击,选择要包含的QT库⽂件。
最后要添加的常⽤的库为:(如果⽇后,要⽤其他的库⽂件,再添加即可)最后再选择Visual Assist Options选项,点击Performance选项,点击Rebuild即可。
完成配置!---------------------(⼆)使⽤装完成后打开VS2010可以发现在菜单栏⾥做了⼀项菜单命令“Qt”,点击Qt⼦菜单如下:单击打开新建⼯程向导后会发现在向导中多了⼀想“Qt4 Projects”,第四步:新建⼀个Qt4 Application项⽬QtTest,如下所⽰:单击Finish 后,完成⼯程创建过程。
一:软硬件1. 主机: ubuntu 8.042. 平台:devkit8000(omap3530)3. tslib-1.44. QT版本: qt-embedded-linux-opensource-src-4.4.3.tar.gz5. 交叉编译工具:arm-none-linux-gnueabi-2007q3二: 移植tslib1.tar xzvf tslib-1.4.tar.gzexport CC=arm-none-linux-gnueabi-gccexport CXX=arm-none-linux-gnueabi-g++2.cd tslib/./autogen.sh执行这条命令可能会报错,需要安装以下工具:sudo apt-get install autoconfsudo apt-get install automakesudo apt-get install libtool3.echo "ac_cv_func_malloc_0_nonnull=yes" >arm-none-linux-gnueabi.cache./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no PLUGIN_DIR=/home/tslib/plugins -prefix=/home/tslib/build--cache-file=arm-none-linux-gnueabi.cache 2>&1 | tee conf_log4.make 2>&1 | tee make_logmake install5. 将/home/tslib/build/lib下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下6. 将/home/tslib/build/etc下的ts.conf拷贝到开发板的/etc下module_raw inputmodule pthres pmin=1module variance delta=30module dejitter delta=100module linear 注意只留这几行,其他的必须全部删掉,包括注释。
7. 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:export TSLIB_TSDEVICE=/dev/input/event2(我的板子是这个设备,其他板子可能会不同) export TSLIB_CONFFILE=/etc/ts.confexport TSLIB_PLUGINDIR=/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb08. 运行/tslib/build/bin中的测试程序,以检测tslib是否移植成功./ts_caliberate ./ts_test假如液晶屏的设备节点不是/dev/input/event2,则会出现以下错误:selected device is not a touchscreen I understand这时你就需要在/dev/input/中寻找自己的节点了。
三、移植QT1. tar zxvf qt-embedded-linux-opensource-src-4.4.3.tar.gz –C /homecd qt-embedded-linux-opensource-src-4.4.32. 修改mkspecs/qws/linux-arm-g++/qmake.conf文件,替换所有arm-linux为arm-none-linux-gnueabi,并添加如下2行,即tslib生成的库文件。
QMAKE_INCDIR +=/home/tslib/build/includeQMAKE_LIBDIR +=/home/tslib/build/lib3. 配置QT(主要是根据自己的开发选择库)./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,16,32 -no-qt3support -prefix /home/qt/target -fast -qt-sql-sqlite -no-libtiff-no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -optimized-qmake-no-nis -no-separate-debug-info -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb-qt-kbd-usb -no-kbd-qvfb -no-mouse-qvfb -no-mouse-linuxtp -qt-mouse-pc -qt-mouse-tslib -no-mmx -no-3dnow -no-sse -no-sse2/////////////////////////////////////////////////////////////////////////////////./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,16,32 -no-qt3support -fast -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib-qt-libpng -qt-freetype -optimized-qmake -no-nis -no-separate-debug-info-no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -qt-kbd-usb -no-kbd-qvfb-no-mouse-qvfb -no-mouse-linuxtp -qt-mouse-pc -qt-mouse-tslib -no-mmx -no-3dnow -no-sse -no-sse2/////////////////////////////////////////////////////////////////////////////////./configure -qt-kbd-tty -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -qt-mouse-pc -no-gfx-qvfb -no-gfx-vnc -qt-kbd-tty -qt-gfx-linuxfb -no-gfx-qvfb -no-gfx-vnc -qt-mouse-tslib -no-glib -prefix /home/qte4.8.0-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples-nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++-little-endian -qt-freetype -depths 4,8,16,32 -I /home/tslib/build/include -L /home/tslib/build/lib -v-D__ARM_ARCH_5TEJ__./configure –help 可查看各配置选项的意思4. 编译(需要等很久)make && make install5.下载测试1) 拷贝/home/qt/target下整个lib目录到开发板下/opt/qtopia目录下2) 删掉/opt/qtopia/lib/fonts目录下多余的字体文件,只留下cour.pfa和cursor.pfa 两个文件。
3) 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:export QTOPIA=/opt/qtopiaexport LD_LIBRARY_PATH=$QTOPIA/lib:$LD_LIBRARY_PATHexport PATH=$QTOPIA/bin:$PATHexport QWS_MOUSE_PROTO=tslib:/dev/input/event2export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"export QT_QWS_FONTDIR=/opt/qtopia/lib/fonts4) 拷贝/home/qt/target/examples/tutorials/下的任一测试程序到开发板下/opt/qtopia/bin目录下并运行。
如遇到测试程序找不到libstdc++.so.6时,可将交叉编译器中的libstdc++.so.6.0.9改成libstdc++.so.6后,并拷贝到开发板的/lib下即可。
四、QT开发环境搭建方法一:编译源码产生开发所需要的库文件和工具。
(这种方法费时,而且由于系统库的问题,可能编译不过)1、下载qt-x11-opensource-src-4.4.3.tar.bz22、tar jxvf qt-x11-opensource-src-4.4.3.tar.bz2 –C /home3、cd qt-x11-opensource-src-4.4.3./configuremake && make install4、export QTDIR=/usr/local/Trolltech/Qt-4.4.3(如果你在./configure的时候,没有指定-prefix的话,这个便是默认路径)export PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$ QTDIR:$ LD_LIBRARY_PATH方法二:通过新立得获得apt-get install libqt4-dev建议使用此种方法,注意你的X11版本不应高于qt-embedded。