|
本帖最后由 suxilong 于 2014-4-25 20:05 编辑
第一:虚拟机
什么是虚拟机?自己问一下度娘吧!
明白什么是虚拟机后,就要选择虚拟机,这个至关重要,因为关乎到后面整个操作爽与不爽。
虚拟机的款类有很多,度娘应该告诉过你。
我只说我认为最常用的。目前有两款:VMware 和Virtual Box,而介于自身知识有限,我只进行下面的对比说明:
虚拟机的选择 之 给不给钱?!
VMware 是商业性质的要求付费试用,(当然现在网络这么发达,而且这里是OOXX**,所以你可以随随便便就在网上找到免费的。)
Virtual Box是开源的,所以直接到官网就可以下载免费版本了。
所以选择任意一款虚拟机都 不存在给不给钱的问题。
虚拟机的选择 之PC 要求
一般虚拟机都对PC的要求比较高,如果你内存没有2G我相信跑起来虚拟机会各钟卡屏各种不爽,当然CPU也有要求。而VMware 相比Virtual Box 对PC的要求就更加高了。目前VMware 10.0.1安装的时候建议你至少要有2G的内存…记住是至少,就算你有2G那也只是最低配置,用起来也是相当的卡。而Virtual Box 相比,要求可能就低点,但为了不卡,爽,那就弄台好点的电脑。至于对PC的要求,官方的描述Virtual Box可以到官网看End-user documentation,VMware的我没找到。
所以电脑差点的用Virtual Box 可能会好点。
虚拟机的选择 之 关于安装增强功能
对于虚拟机使用,其中安装增强功能是不可或缺的。可以说没有增强功能的虚拟机不是虚拟机。增强功能可以将实现host-guest 共享文件,分辨率调节,窗口自动适应等等…
如果你选择Virtual Box,guest又是Linux的话,那请你做好无法安装增强功能的准备吧。
我在Virtual Box4.1.2的版本下安装内核分别为linux2.6.68 与linux3.2.0 的ubuntu,然后安装增强功能,结果老是报错,kernel-headers 没找到….
网上提供了很多办法 比如安装dkms 安装build-essential 安装kernel-devel 等等等,
但是如果你好运的话也许OK,但是如果不好彩的话,那你就等着悲催吧!所以免费不一定就是好的。
在网上找了一个关于的Virtual Box介绍
VirtualBox是一款免费的开源虚拟机,它简单易用,支持Windows、Linux和Mac系统主机,可虚拟的系统包括Windows (NT 4.0、2000、XP、Server 2003、Vista、Win7、Win8)、DOS/Windows 3.x、Linux (2.4和2.6)、OpenBSD等。VirtualBox支持克隆虚拟机,将64位主机的内存限制提高到了1TB,支持Direct3D,支持SATA硬盘的热插拔等。
难道Virtual Box不支持3.x以上的linux内核版本? 但是2.6.38的也出现了安装增强功能不成功,再说到Virtual Box官网看了一下发现,人家Virtual Box明明是支持linux 3.x的!具体原因真的搞不懂~~~~~ 至于目前最高版本的Virtual Box 4.3.2,我还没尝试。
所以,为了安全起见还是选用VMware ,但如果你想不爽,想折腾的话就用Virtual Box(当然成功安装增强功能的Virtual Box 比Vmware 好。单凭全屏自适应窗口缩放 功能就爽呆了。)
感觉自己有点精神分裂了, 到底哪个好呢?真的要说那一款比较好,还是见仁见智!
所以总结就是,说了这么多,全部是废话, 自己用得爽,才是真的爽。
第二 Linux
关于Linux,因为这潭水不是非一般的深,我觉得是初学的,现在是,以后是,永远都是。所以不能胡言乱语,还是你们自己去问度娘和谷哥吧。
在这里我只想严重的加粗字体的推荐一下 《鸟哥的私房菜》。
另外一点就是,选择安装linux的时候,无论是fedora 还是ubuntu。一定要清楚自己的内核版本是多少?gcc 编译器的版本是多少?
如果一开始你就不关心这些版本,我觉得很多时候 搞了大半天都要回过头来思考版本的兼容问题`~~~~~~~请相信我,版本的问题将会一路跟随你,带给你困扰,带给你悲催,总之Linux的学习道路上 一路有它。
第三 QT
对于初次认识QT 的我们,我严重的提醒大家都不要急着就马上下载,然后编译安装。最好就是新what 再how,不然会很why的…
Qt, QT/E, Qtopia 概念解析
Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。一般命名以qt-x11-opensource-xxx!
QT/E -> Qtopia-core ->Qt-embedded-opensource(同一种鸟):Qt 在刚出现的时候,对于Linux和Unix系统,只有构建于Xlib之上的X11版。但随着Linux操作系统在嵌入式领 域的应用日渐广泛,Qt推出了嵌入式的版本Qt/E。由于嵌入式受限的硬件环境往往难以运行庞大的X服务器,Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高,但它并不是Qt的子集,而应该是超集,部分机制(如QCOP等)不能用于Qt/X11中。
Qtopia(注意不是Qtopia-core,两者是不一样的):一般命名为qtopia-opensource,最 初是sourceforge.net上的一个开源项目,全称是Qt Palmtop Environment,是构建于Qt/E之上一个类似桌面系统的应用环境,包括了PDA和手机等掌上系统常见的功能如电话簿、日程表等。现在 Qtopia 已经成为了Trolltech的又一个主打产品,为基于Linux操作系统的PDA和手机提供了一个完整的图形环境。
值得特别注意的是在 版本4之前,Qt/E和Qtopia是不同的两套程序,Qt/E是基础类库,Qtopia是构建于Qt/E之上的一系列应用程序。但从版本4开 始,Trolltech将Qt/E并入到了Qtopia产品线中去了,并推出了新的Qtopia4。但实际上原来的Qt/E仍然作为基础类库,只是改名为 Qtopia Core了,也许又感觉Qtopia Core跟Qtopia容易让人搞混,所以又改名为qt-embedded-linux-opensource-linux/wince(QT也支持 Wince )。它作为嵌入式版本的核心,既可以与Qtopia配合,也可以独立使用。而原来的Qtopia则被分成几层,核心的应用框架和插件系统被称为 Qtopia Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone。
Qte的改名过程,Qte-->Qtopia Core-->Qt-embedded-linux-xxxx
Qtopia/QtEmbedded版本对应关系?
Qtopia1.7.0 / Qte 2.3.7
Qtopia2.1.1 / Qte 2.3.10
Qtopia2.1.2 / Qte 2.3.11
Qtopia2.2.0 / Qte 2.3.12 (包含在qtopia2.2源码包中)
qtopia 2的应用基于qte 2.3.x的
qtopia 4的应用基于qtopia core(相当于原来的qte) 4.x
http://hi.baidu.com/mehewen/item/680c142f4f40e90972863eb2
QT包后缀解析
1. 什么是X11?
X Window 系统的版本11,简称为X11。它是一个对网络透明的客户/服务器架构的图形显示系统。它支持应用程序在你的屏幕上绘制象素,线条,文字,图象等等。 X11 还包括一些其它的辅助的函数库,使得它可以容易地绘制用户界面,例如:按钮,文本输入区等等。
X11是Unix事实上的图形系统标准。Linux、各种BSD和多数的商用Unix都采用它。类似CDE,KDE和GNOME等桌面环境都运行在它之上。
2. 什么是X86,什么是i386?
X86对应32位系统,X64对应64位系统。
x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, i586,奔腾(pentium)。
由于早期intel的CPU编号都是如8086,80286来编号,这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合。
X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的。
i386是指intel发布的通用处理器类型,适合386,486,586,686的CPU。有些rpm包还区分了这些类型。
IA32 : 32 bits Intel Architecture (32位带宽Intel构架)
IA64 : 64 bits Intel Architecture (64位带宽Intel构架)
i386 : Intel 386 ( 老的386机器,也泛指IA32体系的CPU)
i486 : Intel 486
i586 : Intel 586 ( Pentium ,K6 级别CPU )
i686 : Intel 686 ( Pentium II, Pentium III , Pentim 4, K7 级别CPU )
以上的86 也可以叫做 x86, 通称说 x86也是指 IA32构架CPU
QT 开发源代码包 版本介绍
QT的版本比较多,容易搞混。现分别介绍:
(1) Qt/X11 :指用于Linux/Unix的PC 版本。
如:qt-x11-opensource-src-4.5.3.tar.gz,
它是用于PC机linux平台的QT源码。它可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb(类似一个虚拟的仿真界面),嵌入式的开发有了qvfb,就可以不需要实际的开发板
(2) Qt Windows:指用于Windows的版本。
如:qt-win-opensource-4.8.4-mingw.exe
一般windows一直点next 就可以完成安装,安装后还需要做一下环境变量的设置
(3) qt-everywhere:指既可用于x86,也可用于ARM,只要在配置时加上不同的参数就可以。
如qt-everywhere-opensource-src-4.7.3.tar.gz。
(4) Qt/Embedded:指专用于嵌入式的版本(比如ARM)。
如 qt-embedded-linux-opensource-src-4.5.3.tar.gz是用于嵌入式ARM等的qt源码包。
(5)Qt/Embedded和Qtopia Core
从Qt4.1开始,Qt/Embedded改名为Qtopia Core,又从Qt4.4.1开始, Qtopia Core又改名为Qt for Embedded Linux。
一般发行的源码包的名字叫做:qt-embeded-linux-xxxxxx。
搭建Qt开发平台 -- 简介不涉及细节
首先需要的Qt版本有两个:
X-11 =====>qt-x11-opensource-src-x.x.x.tar.gz
嵌入式====>qt-embedded-linux-opensource-src-x.x.x.tar.bz2
1. 解压这两个qt包
a) tar –jxvf qt-x11-opensource-src-x.x.x.tar.gz
b) tar –jxvf qt-embedded-linux-opensource-src-x.x.x.tar.bz2
c) cp qt-embedded-linux-opensource-src-x.x.x
qt-embedded-linux-opensource-src-x.x.x-x86
d) mv qt-embedded-linux-opensource-src-x.x.x qt-embedded-linux-opensource-src-x.x.x-arm
a)和b)解压缩包,(至于解压到哪里,这些是细节,这里简介就不说了)。
c)和d)就是将嵌入式的qt-embedded包 复制两份(先cp,后mv)
有两个复制:qt-embedded-linux-opensource-src-x.x.x-x86 和qt-embedded-linux-opensource-src-x.x.x-arm,
根据他们的名字可以知道前者是适合x86架构的,后者适合arm架构。当然这些适合的话 是相对于这些包已经进行了make。
为什么需要两个呢?(这是重点的重点!!! )
如果有开发板的话,可以只编译qt-embedded版本成arm架构的就可以了,
但是很多时候用qvfb(虚拟器)的话,开发会方便很多,所以多编译一个x86架构的也不错。
1)qt-x11也是适合x86结构的,这不是和qt-embedded重复了吗?
答疑: qt-embedded版本只能在嵌入式板子上面运行,编译成x86架构的程序也只能在x86的嵌入式板子上跑。前面说过,我们需要qvfb来开发, 但是qvfb只能执行x86架构的应用程序,所以需要让qt-embedded生成关于x86的库和其他文件。所以关键就是配合qvfb 使用。
将qt-embedded编译成arm, 又是为什么呢?
答疑: 最终的qt应用程序需要在arm架构上面运行,当然需要这方面的库,所以要编译成arm。
总结:
首先,第一步使用qt-x11提供的库和开发工具开发出qt应用程序,
然后,第二步使用qt-embedded关于x86库和工具再次编译我们开发qt应用程序,这是所得到的可执行文件就可以在qvfb上运行了,
最后,第三步使用qt-embeddedd的arm库再次编译就可以得到在arm上能运行的可执行程序。
如果有开发板 ====第二步====可要可不要的(最好是要,有备无患)
如果没有开发板====第三步====没必要,这样就不需要将qt-embedded编译成适合arm 架构的。
2. 编译源代码包
a) qt-x11=》
./configure -qvfb
make
cd tools/qvfb
make
cd ../..
make install
cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.3.2/bin
b) qt-embedded=》
1) x86包:
./configure
make
make install
2) arm包:
./configure –arch arm
make
make install
http://blog.chinaunix.net/u2/63379/showart_1330704.html
假设一切顺利,那么Qt嵌入式应用程序开发环境就搭建好了,当然我百分百相信对于一个初学者搭建的过程肯定不会顺顺利利,这其中涉及到很多很多细节比如环境变量设置等等的等等!写这个只是为了告诉你what,至于how就该靠自己了。
在此感谢网上所有乐于共享的前辈。以上的大部分资料全部是网上转载的,由于转载次数多 实在找不到源链接,请原谅的copy!!!
|
|