qtlinuxwindows
1. 如何在Windows下构建ARM linux QT开发环境
在PC上,需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm。前者包括了QtDesigner等基本工具,用于在PC上对程序的开发调试,使能确保程序放到板子上之前就符合设计的要求;然后用后者的库将调试好的程序编译成能在arm-linux平台上运行的程序。
Qt-4.5.2用从网上下载到的qt-x11-opensource-src-4.5.2.tar.gz编译后安装得到;QtEmbedded-4.5.2-arm用qt-embedded-linux-opensource-src-4.5.2.tar.gz编译后安装得到,Qt-embedded-linux-opensource-src-4.5.2.tar.gz还可以编译成QtEmbedded-4.5.2-X86,但不需要。在编译qt-embedded-linux-opensource-src-4.5.2.tar.gz之前,必须准备好arm-linux-gcc交叉编译工具,用的是arm-linux-gcc-3.4.1。
所以先要准备好的软件包有:
Pc的操作系统是:LINUX-ubuntu8.04。
下面是具体编译安装过程:
1、Qt-4.5.2的获得将qt-x11-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt,
2、然后解压:
#tarzxvfqt-x11-opensource-src-4.5.2.tar.gz
得到一个新目录:qt-x11-opensource-src-4.5.2
cd进入这个目录,准备开始编译。
3、在终端中这样操作:
#./configure–qvfb//编译配置,此过程大概历时几分钟;#make//正式编译,过程漫长,大概2个多小时;#cdtools/qvfb//进入此目录,准备对它进行编译#make//编译,几分钟#cd../..//回到qt-x11-opensource-src-4.5.2主目录,准备安装#makeinstall//安装,十几分钟吧;
4、此步必须以root身份完成,否则无法建立目录
5、可以在/usr/local/下看到一个Trolltech目录,进入该目录发现Qt-4.5.2目录已经出现,进入里面的bin目录,Designer等工具已经可以使用了。
6、编译过程相当费时,所以可以直接拷贝已经编译过的源码,直接makeinstall。
7、至此,Qt-4.5.2的安装已经顺利完成。
QtEmbedded-4.5.2-arm的获得
在编译安装qt-embedded-linux-opensource-src-4.5.2之前,必须先配置好arm-linux-gcc,将arm-linux-gcc-3.4.1.tar.bz2解压到目录:/usr/local下,此时local下出现一个名为arm的目录,然后配置好环境变量:在/etc/profile添加一句:exportPATH=$PATH:/usr/local/arm/3.4.1/bin,保存后#source/etc/profile一下,让它即时生效。否则下面的编译过程会提示找不到arm-linux-gcc命令。现在可以开始编译了:
将qt-embedded-linux-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt,然后解压:#tarzxvfqt-embedded-linux-opensource-src.tar.gz,得到新目录qt-embedded-linux-opensource-src-4.5.2。
进入qt-embedded-linux-opensource-src-4.5.2目录,首先进行configure。这里的参数很重要,必不可少的是-embeddedarm,所以最简单的配置信息可以这样:
./configure-embeddedarm
然后回车,就开始configure了,参数设置和参考文章一样,裁减了很多,减少了编译时间:
./configure-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-gif-qt-libtiff-qt-libpng-qt-libmng-qt-libjpeg-makelibs-xplatformqws/linux-arm-g++-nomaketools-nomakeexamples-nomakedocs-nomakedemo-no-nis-no-cups-no-iconv-no-dbus-no-openssl-embeddedarm-little-endian-qt-freetype-depths16,18-qt-gfx-linuxfb-no-gfx-transformed-no-gfx-multiscreen-no-gfx-vnc-no-gfx-qvfb-qt-kbd-usb-no-glib
之后就可以编译了,#make,漫长等待后再#makeinstall。Makeinstall还是需要root权限。
完成后,在/usr/local/Trolltech下多了一个目录:QtEmbedded-4.5.2-arm。
2. linux qt程序 怎么运行到windows
Windows默认的编码是gb2312,而Linux是UTF8;
多数情况下,把Linux上的程序转换至Windows上运行需要进行编码转换才能正常显示;
而其实大可以不必的,同样,文件使用的依然是UTF-8,同样可以在Windows上跑起来,不过有一些事件还需要做的:
1. 在main.cpp中添加一段内容:
#include "QTextCodec"
int main(int argc, char *argv[])
{
...
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
...
}
2. 在使用QString时,需要使用Qstring str =QString::fromUtf8("content")
3. 之后,程序就可以正确的显示中文了~.~
3. 在Windows下开发的QT应用程序能在Linux系统应用么
QT 的跨平台是指一次编码,到处编译,你可以用同一份源代码在 WIndows 和 Linux 上编译,如果代码里面仅用到 QT 的部分,那么是可以编译通过的,编译出来的程序运行界面效果是差不多的。要在哪个平台运行,那必须先到那个平台把 QT 代码编译成本地应用程序,才能运行。
4. linux下跟windows下QT是通用的吗
QT编的源码在linux和windows下是通用的,如果要想在两个不同的平台上发面应用程序,你必须分别在不同平台上编译,发布,才行。
5. qtwindows移植到linux找不到Windows.h
qtwindows移植到linux找不到Windows.h应该是环境变量配置的有问题,加入环境变量的配置或者可以直接在系统变量里新建include变量,把上面的加进去修改即可。
6. windows里的Qt和linux中的Qt有何异同
Linux是目前十分火爆的操作系统。它是由芬兰赫尔辛基大学的一个大学生Linus B. Torvolds在1991年首次编写的。标志性图标是一个可爱的小企鹅。Linux是一种类Unix系统,Linus当时编写它的目的是为了替代一种名叫Minix的操作系统。Minix是由一个名叫Andrew Tannebaum的计算机教授编写的,当时由于Unix是一个商业软件,其源代码是不能拿来进行教学的,Andrew教授就自己编写了一个系统用于教学。最初的Minix用一张软盘就能装下,麻雀虽小、五脏俱全,Minix具有一般操作系统的特征,它同时兼容Unix系统一直以来,很多人对操作系统的认识停留在windows的华丽的图形界面,认为只有鼠标操作才能把一个操作系统给很好的用起来。linux的出现改变了这点先看看linux的目录结构,linux以/作为一个总的挂载点,把所有系统文件安装在/下的不同目录下,linux下的通常目录有:/etc用来放linux启动脚本和系统配置信息/boot 放着linux内核和启动系统所需的文件/dev存放设备文件/home用户文件的主目录/proc放着存储进程和系统信息/root超级用户的主目录/bin常用必要的命令/sbin存放系统管理员命令/usr一般的应用程序文件/var包含系统产生的经常变化的文件,如邮件日志等等/lib系统必要的运行库/mnt存放临时的映射文件系统,如系统光驱软驱的挂载/tmp存放临时文件的目录。Linux命令通常放在/bin/sbin/usr/bin /usr/sbin等目录下,每一个安装的软件包,都会在这些目录下产生几个命令。
下面就windows几个常用特征,对比着简单介绍linux,以redhat9.0为例。
1.windows在桌面上经常能看见各种图标,这些图标是相应程序中快捷方式,在linux下可以用ln n xxx, ln命令是建立文件符号链接的linux命令,可以在一个目录下建立起多个文件的链接,执行这些链接,就执行了文件本身,而删除链接,并不删除文件。所以通过建立各种链接文件,你也能拥有自己的命令桌面。
2.windows的任务管理器中能看到系统的进程,性能等一系列动态信息,也能关闭一些用户进程,在linux中,通过psaux ,top,kill命令可以实现这些操作,ps是linux用来查看当前运行进程的命令,top动态显示目前正在系统中执行的程序,kill+文件Id可以删除相应进程,这些命令实际上调用的对/proc中,文件的操作/proc是一个内存映射到文件的文件夹,里面存放的文件记录了系统进程信息、动态信息和系统基本信息。通过查看/proc,能得到系统的大部分信息。
3.windows 的添加删除程序相当的简单,在linux 也有类似简单的工具rpm redhat专门为程序编程人员提供了这一个软件制作工具,大量linux 软件已经做成rpm格式,只需要通过rpm ivh xxx的方式可以成功安装,通过rpmuvh xxx就可以成功卸载。同时 rpm工具带有很多其他功能,如通过rpmqa|more可以查询所有的已经安装在系统的rpm包的软件名rpmql xx能查找一个软件包即将拷贝何种文件在待安装的linux系统上,rpmqf /xxx能查找任何一个rpm格式的命令是属于哪个软件包,总之,rpm的功能很强大,给linux添加删除软件带来很多便捷。
4.windows的设备管理器提供了计算机软硬件很多信息,在linux下,这些系统信息通过dmesg|more的命令,dmesg实际上是/var/log下一个日志文件,系统在启动的时候记录相应的软硬件信息,存放在此,除了这个文件,/proc下也存放着许多相应系统的信息,如分区信息,cpu信息,内存信息交换分区信息,中断信息,系统总线信息。大多相应的系统信息命令就是通过查找这里的文件信息提供给大家的。
5.windows中有环境变量概念,linux也有,系统在启动的时候已经设置了很多环境变量,其中比较常见的有PATH SHELLHOME PS1等 。PATH就是我们常常说的路径,定义了它才能够直接使用命令,而不需要加上路径,SHELL选择系统启动后进入bash脚本 HOME是记录当前的用户的目录,PS1是当前提示符,显示一个环境变量用echo $PATH,显示本地所有环境变量用set,显示所有环境变量用env,清楚环境变量用unset xx设置一个环境变量用export xx=” ”。
6.windows的任务启动执行常见的有几种方式,一个是在系统启动文件中执行程序的启动,如编辑autoexec程序,一个是放在注册表的Run下,一个是放在开始菜单的启动项中。linux启动,通常需要加载一系列启动脚本, linux启动当内核完成加载需要找/etc/inittab这个文件,这个文件通常会执行/etc/rc.local脚本文件(当然也可以自己更改),再由它调用其他脚本文件进行各种后台程序的启动和系统环境信息的设置。需要启动时执行的程序可以放在这里用脚本语言启动。熟悉了脚本编程,还可以对系统本身启动的脚本进行修改,去掉不想要启动的设备程序和修改启动后的系统信息,打造属于自己的linux操作系统。
7.window下控制面板-管理工具-服务,记载着windows后台服务的启动情况,在linux下也有着类似的管理方式,它是通过脚本的方式来管理,所有的后台启动脚本都放在rc.d下,linux启动有六个模式,相应就有六个启动脚本文件夹,每一个文件夹对应着在linux启动的一种模式下应该启动或不启动的程序,在启动的时候通过改变相应模式文件夹中的程序脚本前缀S或K,就能在相应的模式下自启动或不启动程序,在操作系统运行中,还可以通过service start | restart|stop来手动启动或重启或停止该程序。
8.windows对文件的操作十分方便,用户很容易就能建立,查找,删除一个文件,Linux命令模式没有向windows那么直观的文件操作界面,但它提供了一组强大的文件操作命令来让用户能方便的对硬盘中的文件进行操作,touch 建立一个新文件,find功能强大的查找文件 rm删除文件和目录,tar对多个文件打包同时进行压缩,ln建立文件快捷方式 chmod,chown修改文件的权限和所有者,vi类似与windows下记事本的编辑程序等等。这些命令能够很容易的对硬盘文件进行各种有用的操作,不同于windows操作系统,linux的命令大都独立的程序,可以添加和裁减,这使得不同的系统可以拥有对文件不同的操作,使linux能很灵活的应用各个方面。
linux系统是属于那种灵活的操作系统,除了少数必须的命令,多数的命令都可以通过裁减的方式由用户自己定制。不像windows系统一口吃一个胖子,这样做的好处就使得linux能够用在比windows更广泛的领域,从服务器到桌面系统到嵌入式,甚至可以小到仅仅只由内核+文件系统构成大小不到一兆的嵌入式系统。而大多数的linux开发人员的热情,使得linux今后会成为一个重要的操作系统。
希望采纳
7. 在linux下,QT怎样编译出windows程序
你好,1、可以安装cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件,搜索官网下载闹源即可,下载完成,安装的时候注意记得安装相关语言的编译器、解释器,在cygwin中生成Linux可执行文件。2、 可以安装vmware、virtualpc等虚拟机,在虚拟机里安装linux系统,然后颤肆在linux系茄弯轿统中编译相应的源码,生成linux上的可执行文件。
8. windows 重新编译linux下qt工程 怎么弄
首先在windows下安装一个qt包,设置qtdir路径,如果linux下的有cmake直接cmake,如果没有,根据makefile设置vc工程属性。
9. 在windows上开发qt和在linuux开发qt有什么区别,有什么不同的优势,用途又有什么不一样
区别: 没有什么不同
优势: 没有什么不同的优势, 好比qq for Android 和qq for ios, 没有什么可比的优势
用途: qt for window编译出来的程序是在window上面跑, qt for linux编译出来的程序是在linux上面跑.
前途: 两个平台上的qt开发没有什么可比性, 因为你在window写的程序只需在linux上面编译一下, 就可以在linux运行.