‘壹’ 安装QT环境遇到这种情况怎么破
Centos6.3自身是带QT4.6.2的,在装系统时可以选择安装,但是没有qvfb工具,所以又自己重新编译了qt-x11的4.5.0版本。
qt各版本版本下载地址(在网上找的很多博文里给的链接都失效了,下面这个链接貌似还比较新,现在可以用):
http://qt-project.org/downloads
ftp://ftp.qt-project.org/qt/source/
在ftp资源里找到 qt-x11-opensource-src-4.5.0、qt-embedded-linux-opensource-src-4.5.0这两个源码包并下载(tar.gz或tar.bz2包都有,网速不好的话看哪个小下载哪个)。
下载后将两个源码包分别解压,qt-x11-opensource-src-4.5.0解压一份,qt-embedded-linux- opensource-src-4.5.0解压两份,分别命名为qt-embedded-linux-opensource-src-4.5.0-x86 和 qt-embedded-linux-opensource-src-4.5.0-arm 。
开始编译安装:
一、X11编译:
1.进入qt-x11-opensource-src-4.5.0源码目录。
./configure -no-openssl
在我这里必须加上-no-openssl选项,否则在make过程中,编译到ssl时会报错。出错信息为:
ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field ‘q_sk_free’ declared void
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:264: error: ‘a’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘STACK’ was not declared in this scope
ssl/qsslsocket_openssl_symbols_p.h:265: error: ‘a’ was not declared in this scope
……
……
默认安装路径为 /usr/local/Trolltech/Qt-4.5.0。可用--prefix 指定其他安装路径。
2. gmake # linux下一般可直接用make代替gmake。如果要加快编译速度,就加上 -jx ,x表示最大的线程数。
3. gmake install
二、qt-embedded-x86编译:
1.进入qt-embedded-linux-opensource-src-4.5.0-x86源码目录。
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -no-openssl -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
先后配置了安装目录、嵌入式架构(x86)。同时也跟X11版本一样,配置了 -no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。再后面的几项是为了更好的配合qvfb,网上说如果没有这几 项,安装好qt-embedded-x86后想在qvfb上调试程序时,会出现类似下面的错误:
Error opening buffer device /dev/fb0QScreenLinuxFb::connect: No such file or directory
2. gmake
跟x11版一样
3. gamke install
三、qt-embedded-arm:
与前面两个不同,在编译arm版本的qt-embedded前,必须确认已经安装了交叉工具链,编译过程中要生成许多arm架构的库,所以必须有 arm-linux-gcc、arm-linux-g++等工具。我用的是友善提供的arm-linux-gcc-4.5.1版本。
1. 进入qt-embedded-linux-opensource-src-4.5.0-arm源码目录。
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -no-openssl -qt-libpng
指定了安装路径、嵌入式架构。同时也跟X11版本一样,配置了 -no-openssl,没有这一项的话,make的过程中会出现跟编译X11时一样的错误。
另外,还增加了一项, -qt-libpng,这个选项应该是关于png相关的库,指定用qt自带的png库。如果没有这一项,我这里会出现如下错误:
image/qpnghandler.cpp: In member function 'virtual QVariant QPngHandler::option(QImageIOHandler::ImageOption) const':
image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)
image/qpnghandler.cpp:950:35: warning: 'png_info_struct::width' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:639)
image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)
image/qpnghandler.cpp:950:55: warning: 'png_info_struct::height' is deprecated (declared at /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/include/png.h:640)
make[1]: *** [.obj/release-shared-emb-arm/qpnghandler.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: Leaving directory `/root/qt4.5.0/qt-embedded-linux-opensource-src-4.5.0-arm/src/gui'
make: *** [sub-gui-make_default-ordered] 错误 2
看起来像是我的交叉工具链跟这个QT版本匹配的不太好,Qt好像不太兼容交叉工具链的png.h头文件中定义的数据结构。加上 -qt-libpng 可解决此问题。
四、qvfb:
这时QT就已安装成功。但是还需要额外安装qvfb。
进入qt-x11-opensource-src-4.5.0源码包目录,然后
cd tools/qvfb
在qvfb源码目录下运行 make 会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我们将它至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下即可。
end:
到这里,QT的开发环境基本就搭建好了,利用 qt-embedded-x86 和 qvfb 工具可以很方便的调试QT程序,调试好的程序再经 qt-embedded-arm 编译就可在开发板上运行(还有个小问题,我现在编译好的QT程序虽然可以在开发板上运行,但是运行时触摸屏不能用,只能用USB鼠标控制,想支持触摸屏貌 似还需要移植tslib库,等我折腾完了再回来把相关内容补充上)。
‘贰’ 在QT编程中,我加了个头文件QNetwork文件,为什么编译说找不到该文件我的里面包含有这个文件阿
QT中没有这个文件吧 ,QNetwork是个关于网络操作的文件夹。
你在项目的属性里加上QNetwork所指的路径应该就行了,是配置问题
或者你加了QNetwork的上一级目录,你想用QNetwork下面的qsslsocket.h可用用
QNetwork/qsslsocket.h
我认为QNetwork不应该是个头文件
‘叁’ QtCreator怎么添加编译参数
QtCreator添加编译参数方法:
在pro文件里添加:QMAKE_CXXFLAGS += -m128bit-long-double如果是C工程或者有C文件也用那就也加上:QMAKE_CFLAGS += -m128bit-long-doublepro文件很灵活
‘肆’ 为什么 Qt Creator 的编译如此之慢
取自知乎上的一篇文章
作者:姚冬
我是来反对楼上某些答案的。
我曾经用MFC写了金山词霸(大约20多万行),又用Qt写了YY语音(大约100多万行),算是对两种框架都比较有经验。
纠正几个错误的认识。
1. “用Qt写的程序编译比MFC慢”的说法是错误的
绝对错误,单位代码行数编译Qt远比MFC快得多,因为Qt库的头文件设计非常好,尽量都使用了前置声明,避免了头文件嵌套,几乎所有类都使用了公有类和私有类的设计,把没必要公开的声明放到私有头文件里,避免了编译时引入过多代码。而MFC没有这样的设计。
至于大家感觉MFC快主要原因是MFC工程默认打开了编译预处理头文件(PCH),但是这是VC编译器的特性,所有C++程序都可以用,不是MFC特有,Qt也可以使用 PCH
方法很简单,在你的 .pro 文件中加入一行
PRECOMPILED_HEADER = stable.h
指定 Stable.h这个头文件作为编译预处理文件,MFC里这个文件一般叫stdafx.h
然后在 stable.h里 包含你所用到的所有 Qt 头文件,如果你用了很多qt的类可以直接包含所有
比如 :
#include <QtCore>
#include <QtGui>
这两个文件里又包含了几乎所有Qt常用类
不用担心,即使包含了所有头文件也没关系,有了PCH再多头文件也没影响。
如果你还想编译再快点,可以在 .pro里加入下面一行
QMAKE_CXXFLAGS += /MP
指定/mp编译选项,编译器将使用并行编译,同时起多个编译进程并行编译不同的cpp
而且QT这种引入PCH的方法比MFC的好,由于MFC的PCH选项是每个工程逐个指定的,很容易被某些人搞坏,我曾经无数次修复PCH问题,但是Qt的选项是写在.pro里的,写一次就永远不会错。
MFC一旦弄坏了PCH,编译也慢得令人发指。
给个参考时间吧,YY最新版本大约 100多万行C++代码,rebuild debug和releae总共需要20多分钟,机器是i5 四核SSD硬盘。其实对于大项目硬盘才是瓶颈,如果换机械硬盘要慢差不多70%,有个同事用10G内存做了个内存盘编译,还能快30%。
如果你比这个慢,请检查自己的代码问题。
2. “QT本身编译慢”的说法是错的
Qt本身其实编译并不慢,慢的是webkit库和例子程序,你如果不改任何选项默认是会编译所有的,webkit本身就是个恐龙级项目,用了太多泛型技术,编译非常慢。另外Qt里附带了数百个例子工程,都编译一边也很慢。如果仅编译QT核心库是很快的,比如QtCore只需要1分钟,QtGui大约5分钟。
送个福利(仅限windows vc++ 2008):
configure.exe -qt-libjpeg -qt-zlib -qt-libpng -qt-libjpeg -qt-gif -no-libtiff -no-libmng -nomake examples -nomake demos -no-webkit -nomake doc -no-plugin-manifests -no-exceptions -no-rtti -no-qt3support -no-openssl -no-opengl -no-multimedia -no-3dnow -no-native-gestures -no-style-motif -no-style-cde -no-style-cleanlooks -no-style-plastique -no-sql-sqlite -no-dbus -platform win32-msvc2008
这是我自己用的Qt编译前的配置命令行,把我自己用不到的都去掉了,这样配置编译就快很多了。
我把 webkit examples demos 等大家伙都去掉了。如果你真的需要这些,可以安装Qt sdk里面有编译好的版本。
补充:Qt creator只是IDE,不是编译器,编译慢真的不关他的事,要看你具体用的编译器是什么。一般来说在Windows下就是minGW,也就是一个移植版本的GCC,的确是不如VC++里的CL快的。
如果是其它平台,那么编译器可以换成LLVM的clang,那就快很多了。
在Windows下来是用VC++吧,推荐VC2008,Qt和VC的IDE结合非常好,我现在的项目都是用VC2008+QT的,开发效率很高,记得装Visual Assist哦。
qmake -tp vc
可以用 .pro生产 .vcproj的VC工程文件,可以用VC++打开编译。
‘伍’ QT 5.5.0 怎么设置才能实现静态编译
qt默认的编译方式是动态编译的,但是有时候编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译程序,qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:
1.将c:\qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的qmake_lflags
=
-enable-stdcall-fixup
-wl,-enable-auto-import
-wl,-enable-runtime-pseudo-reloc
改为
qmake_lflags
=
-static
-enable-stdcall-fixup
-wl,-enable-auto-import
-wl,-enable-runtime-pseudo-reloc
2.在开始菜单里找到qt
command
prompt并运行,输入命令:
configure
-static
-debug-and-release
-no-exceptions
-l
"c:\qt\2010.05\qt\include"
-l
"c:\qt\2010.05\qt\lib"
-l指定一下路径,防止用到vc的头文
‘陆’ 如何在QT中使用MYSQL SSL连接
如何在QT中使用MYSQL SSL连接
windows 下登陆mysql 命令行,(1)进入cmd (2) cd mysql 安装路径/mysqlserver5.6/bin
(3) 使用命令mysql -u root -p 然后根据提示输入密码 进入命令行
select user(); //显示当前用户
‘柒’ 我在qt下面编程,需要用到用到第三方的库文件,但是qt编译的时候老说打不开文件,请教原因
使用第三方库,需要有头文件,lib文件,dll文件(如果是动态库的话),在编译的时候需要提供头文件的路径以及相应的头文件的文件名,链接的时候需要提供lib文件的文件路径和文件名,你这里就是在链接的时候找不到lib文件,肯定是你的路径没有提供或者是路径不对,运行的时候还要
‘捌’ Qt 软件中怎么自动加入build版本号
当进入解压好的源码包后,使用./configure –help命令,可以获得相应帮助,那我们只要选取参数部分看看 -release 这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。 -release 与上面对应,自然是调试版了,如果开发的话,可以选择它吧。 -debug-and-release 囧,上面那两个的儿子。 -developer-build 囧,我错了,开发者也可以用这个的,选了这个后,可以进行自动测试,不过还没去用过,以后可以研究研究。 -opensource -commercial 这两个参数是指是编译是商业版本的,还是开源版本呢,视个人情况而定。 -shared -static 这两个参数是指Qt的lib以动态还是静态编译生成,这自然也是视个人需要的。 -no-fast -fast 这两个就很有关系,如果对自己的电脑性能很有信心,那就选第一个,那所有的工程文件都会生成到makefiles中,那编译的时间,估计可以看完变形金刚了。如果选第二个,那就加入子目录和库到makefiles,这样就能加快编译的速度。 -no-largefile -largefile 顾名思义,支不支持大文件,一般来说,嵌入式里是不会有从超过4G的大文件的,那就选第一个吧。 -no-exceptions -exceptions 计算机英语够好的人都该懂,这个自然就是异常情况,选则编译器支持抛出异常,否则不支持。 -no-accessibility -accessibility 可访问性的支持,说实话,这个我真不知道有什么有用了。等哪天发现了,再来好好解释。 -no-stl -stl 是都加入stl的支持,stl,这应该算是C++程序员应该都了解了,再不济,那也总听说过大名吧。 no-sql-<driver> -qt-sql-<driver> -plugin-sql-<driver> 这 个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数 据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的 需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称 可以自己查看参数里,有详细地介绍。 -system-sqlite sqlite真受欢迎啊,当然那么优秀的嵌入式数据库,本人也是基本使用它来进行开发。这个参数意思是使用操作系统上的sqlite数据库,如果是不太会移植的,可以考虑直接使用qt自带的驱动。 -no-qt3support -qt3support 这个也是简洁易懂,加不加对qt3的支持。 no-xmlpatterns -xmlpatterns 选择对xml的支持,如果对网络无需求的话,就不用加了。 -no-phonon -phonon phonon是qt中处理多媒体的模块,比如放放视频什么来着,不过本人从没用过,也是根据需要选择的。 -no-phonon-backend -phonon-backend 与上面类似,只不过这两是以插件的形式加入支持。 -no-svg -svg 是否加入svg的支持,svg即可缩放矢量图形。 -no-webkit -webkit 是否加入webkit的支持,这可是个好东西,不过如果跟网络不搭界的话,还是不支持吧。 -no-scripttools -scripttools 是否加入脚本工具的支持,这对php等脚本工程师来说是个很棒的参数,但对于我这样菜鸟,就别提了。 -platform target 目标平台,这可是关键了,如果不注意的话,编译出来是x86上的话,哪怕是再牛的嵌入式工程师来也没法帮你移植到开发板上。通常,本人是linux-arm-g++。 -no-mmx -no-3dnow -no-sse -no-sse2 这四个参数是针对CPU的指令集,老实说,我也不甚了解,不过,对于开发并不是影响很大。 -qtnamespace 把qt的库封装到命名空间,没啥重要用处,依个人爱好加吧。 -qtlibinfix 将所有的qt的.so库重命名,也没啥大用处。 -no-sql-<driver> -qt-sql-<driver> -plugin-sql-<driver> -system-sqlite 这是相当明显的,如果这都看不出来,,囧,那您一定比我近视(本人800度近视。。) 就 是说如果是-no-XX-,就说明编译时不选择这个参数,如过是-qt-XX-,说明我们可以编译直接选用qt自带的驱动,如果是 -plugin-XX-,就是将驱动以插件形式编译,而-system-XXX,当然是使用操作系统提供的驱动,不过那就需要您自己移植了,而且有时还要 用第三方的API,就方便来说非常麻烦,但是不排除您是牛人要好好玩玩的情况。 接下来,我们接着研究配置参数。 -qt-zlib -system-zlib 想 必经过上面的讲解,参数的意思已经很快得知,就是选择qt带的zlib库还是系统的zlib。zlib库是用于文件和资料压缩的库,对于新入嵌入式的人来 说,可能并无太大的用处,但是在以后的实际开发中,特别是对于多媒体图像图形的工程师来说,就肯定用到,因为图形图像的压缩都要使用或涉及到这个库。 -no-gif -qt-gif 这是选择gif的支持,如果选择qt支持的话,那在用qt开发的项目中,就能显示gif图,gif也是比较普遍的图片格式了,英文全称是Graphics Interchange Format。 -no-libtiff -qt-libtiff -system-libtiff tiff是一种非常复杂的光栅图像格式,并且有直接现成的C语言实现库,因此选择参数时就有了qt和system,一般来说,科学相关的开发里可能会用到。 -no-libpng -qt-libpng -system-libpng png的相关参数,一种非失真性压缩位图图形文件格式,其实就是为了替代gif搞出来的,也是随实际需要来选择,当然,也有C语言实现的库。 -no-libmng -qt-libmng -system-libmng 大汗,大汗,这可是超级罕见的东西,QT竟然也能支持,说实话,这个参数我看来就是无视的。MNG是多帧PNG动画格式,结构极其复杂,基本没人用。 -no-libjpeg -qt-libjpeg -system-libjpeg jpeg,这么有名的图片格式也不用说了,随需要选择吧。 -no-openssl -openssl -openssl-linked SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认,而OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件 包,在qt中,我们可以选择直接支持,或者OpenSSL链接支持,这个参数也是为有需要者提供的。 以上是第三方库的参数选择,紧接着就是qt附加参数,在附加参数里,我们可以指定编译的部分及加入参数来获取信息。 -make -nomake 一 句话,说明,就说我可以这两个参数选择哪些我要编译,哪些我不需要,在 libs tools examples demos docs translations这些里你可以选择,比如examples,并不重要,可以放在-nomake后,这样编译过程中就不会编译这部分了。通过适当的 选择,我们可以大大加快编译的速度,这对配置较差的机子来说有着积极意义。 -R <string> -l <string> 这两个参数是为编译时增加一个库的运行路径及头文件的路径,比如使用tslib作为开发触摸驱动时,我们就应使用这两个参数来指定tslib的库路径和头文件路径。 -no-rpath -rpath 这个参数比较难于理解,简单地说,就是告诉动态加载器,到-rpath指定的目录中寻找编译时须要的动态链接库,语法就与上面的参数结合,比如 -rpath -R/home/xxxx。 -continue 这个参数的作用就是当出现错误时依然进行配置编译,换我是不会加上的。 -verbose, -v 这个参数就很眼熟,在前面的文章中有过详细介绍,简言之,就是显示配置的每一步的具体信息。 -no-optimized-qmake -optimized-qmake 是否编译生成优化过的qmake,没啥大用,也属于可有可无的参数。 -no-nis -nis 是否编译NIS支持,NIS(网络信息服务)是一个提供目录服务的RPC(远程过程调用)应用服务,当然没网络需要的可以再次华丽地无视。 -no-cups -cups 是 否编译CUPS支持,是不是想问什么用啊?~~~~囧,开打印店用的。好了,不说冷笑话,CUPS给Unix/Linux用户提供了一种可靠有效 的方法来管理打印。它支持IPP,并提供了LPD,SMB(服务消息块,如配置为微软WINDOWS的打印机)、JetDirect等接口。CUPS还可 以浏览网络打印机。它的开发提供者是大名鼎鼎的“水果生产商”----苹果公司。 -no-iconv -iconv 选择是否编译iconv支持,iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。这对跨语言Qt开发人员来说是很有用的,当然,考虑到中文的编码,我也选择加入支持。 -no-pch -pch 是 否支持预编译过的头文件。预编译头就是把一个工程中的一部分代码,预先编译好放在一个文件里(通常以.pch为扩展名),这个文件就称为预编译头 文件。这些预先编译好的代码在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。妈妈经常说:不懂就要学。我说:不 懂就加上。。。 no-dbus -dbus -dbus-linked 是否编译编译QtDBus模块。dbus是freedesktop下开源的Linux IPC通信机制,本身Linux 的IPC通信机制包括,管道(fifo),共享内存,信号量,消息队列,Socket等。在Qt中DBUS是有单独的模块的,可见其重要性。 -rece-relocations 对于额外的库链接器优化,可以减少编译中的再定位。 no-separate-debug-info -separate-debug-info 是否存储debug信息在.debug,一般为了查错,还是选择存储吧。 -xplatform target 相当浅显的参数,即交叉编译的目标平台,一般来说根据你所要移植的目标板来确定。 -no-feature-<feature> -feature-<feature> 选 取qte的feature编译,对于这个,我理解为特性,特性的描述你可以参考src/corelib/global/qfeatures.txt,在这 里面对于每个特性都有比较充分的讲解。对于特性地选择,也是要根据开发需求进行,如果裁剪适当,能大大为qte库瘦身。 -embedded <arch> 嵌入式平台架构选择,可以选择arm,mips,x86及generic,视你的目标平台决定吧。 -armfpa -no-armfpa 这个参数也只是针对ARM平台的,是否加入对于基于ARM的浮点数格式的支持,通常,这个参数在编译时会自动选择。 -little-endian -big-endian 目标平台的大端和小端选择,这应该是常识了,如果这不知道,就不要来混嵌入式了 -host-little-endian -host-big-endia 主机平台的大端和小端选择,属于鸡肋的参数,不选择也会在配置时自动选择。 -no-freetype -qt-freetype -system-freetype 选择freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,在嵌入式开发中,有套可使用的字体对于中文开发至关重要,本人一般使用文泉驿字体。 -qconfig local 使用本地的qconfig配置文件来替代全部参数配置,有需要的可以去研究下,可以裁剪控件级别的参数。 -depths <list> 显示的像素位深,也是根据需要来进行吧。 -qt-decoration-<style> -plugin-decoration-<style> -no-decoration-<style> 这个是选择qt的样式风格,对于需要美化界面的项目来说,可以好好选择下。 -no-opengl -opengl <api> 是否加入opengl的支持,OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。不过对于一般的开发来说,似乎有很少用到的地方。 -qt-gfx-<driver> -plugin-gfx-<driver> -no-gfx-<driver> 这个是相当重要的一个参数,选择QtGui的图形显示驱动,比如我们在pc上使用qvfb模拟时,就应该加入对qfvb的支持。我们可以在 linuxfb,transformed,qvfb,vnc,multiscreen这几个中选择。在平常的开发板上,选择linuxfb即可。 -qt-kbd-<driver> -plugin-kbd-<driver> -no-kbd-<driver> 选择键盘的驱动支持,可以支持usb键盘,串口键盘等等,也是在tty,usb ,sl5000, yopy, vr41xx ,qvfb中选择。 qt-mouse-<driver> -plugin-mouse-<driver> -no-mouse-<driver> 鼠标的驱动支持,一般都会选择tslib,可以完美地支持触摸屏,在pc,bus,linuxtp,yopy,vr41xx,tslib,qvfb中选择吧。 -iwmmxt 加入iWMMXt指令的编译,也只是部分XScale架构才具有。 -no-glib -glib 是否加入glib库的支持,glib库对应即gtk库,就也是说加入后可以使用gtk。
‘玖’ QT中能否调用openssl的库该怎么解决
可惜我编译qt 4.8的时候没有编译openssl的库。
我试了在.pro文件中加入这些库,但好像没用。具体现象是QNetworkAccessManager 访问https时候一直没有response返回。
------解决方案--------------------------------------------------------
1、只有dll文件就动态载入这些库,如果有lib文件可以静态载入;
2、https访问必须同过ssl通道才行,你只是把库加入到项目中而没有具体调用相应的函数,也是没有效果的。
------解决方案--------------------------------------------------------
编译库,费时也费力。
------解决方案--------------------------------------------------------
zhu_xz兄说的对呀!需要编译Qt库。
我记得三年前我做过这个,这是我当时写的一个手册,不过可能已经过时了:
1. 安装OpenSSL
首先确保安装了ActivePerl
解压openssl-0.9.8k.tar.gz到C:\OpenSSL
在命令行中执行以下命令:
cd C:\OpenSSLms\mingw32编译结束后,将在C:\OpenSSL\outinc中生成Windows平台的头文件,在C:\OpenSSL\out中生成库文件。
2. 之后编译Qt
在configure中加入参数 -openssl -I C:\OpenSSL\outinc -L C:\OpenSSL\out
然后执行make
3. 编译完成后把C:\OpenSSL\libeay32.dll、C:\OpenSSL\libssl32.dll拷贝到Qt的bin目录中,并且把libssl32.dll改名为ssleay32.dll。
= =