搜档网
当前位置:搜档网 › 图文介绍ubuntu下编译安装QT开源版

图文介绍ubuntu下编译安装QT开源版

图文介绍ubuntu下编译安装QT开源版
图文介绍ubuntu下编译安装QT开源版

1,下载开源包

在ubuntu里打开默认浏览器输入下载地址

下载地址为:ftp://https://www.sodocs.net/doc/4210547253.html,/qt/source/回车如下图所示,好多安装包啊,找哪个呢?

在页面上ctrl+f快速定位安装包,如下图:

Qt-x11-opensource-src-4.5.3.tar.gz

好了,下载完毕,开始我们的安装之旅吧!!!

提示:你知道下载的文件包被放在哪里了么?

答:安装包下载后默认放在了/home/xq-y/下载/ 文件夹下。如下图所示:

上面是鼠标查看安装包的位置,现在我用命令行来查看安装包

都知道上面的命令是上面意思吧?

如果你不知道!!!就尽快补补,,,

2,开始我们的安装之旅!!

①,把下载好的文件解压到/usr/local/ 文件目录下,如下图所示!!

②,确定你的机器安装了g++,如果没安装,请执行下面的命令进行安装(g++编译源码) Sudo apt-get install g++

③,继续安装libX11-dev和libXext-dev和libXtst-dev(不懂这个是什么请百度或者google),执行如下命令进行安装:

sudo apt-get install libX11-dev libXext-dev libXtst-dev

如果在安装的过程中遇到如下错误

请按照提示执行: sudo apt-get update install libX11-dev libXext-dev libXtst-dev。。

如果你不装XLib库,在编译X11平台时会接收到如下错误提示:

Basic XLib functionality test failed!

You might need to modify the include and library search paths by editin

④,进入我们刚才解压在/usr/local/下面的qt4.5.3开源包,

如下图所示:

然后运行configure,命令如下:

在整个的编译过程中,configure这一步很关键。configure的作用有两个,一是生成平台相关的qmake;二是配置Qt的Feature,比如源文件放在哪里,库在哪里,是否支持OpenGL等等。

要查看configure的配置选项列表,可以运行./configure -help命令。

如果configure失败,可以以使用-v选项查看具体的原因,命令是./configure -v

如果以后需要在这次配置的基础上更改选项,先要运行make confclean或者make clean命令以清除之前的配置。

⑤,执行make,时间比较长,大约2小时。

这一步是根据configure时由qmake生成的makefile来编译QT库。只要前面配置好了,一般不会出什么问题。

这样将会生成Qt库,同时也会编译所有的演示程序、示例程序和工具软件。在某些系统中,make命令称为gmake。

⑥,安装QT

输入指令 make install 安装QT,如果权限不够前面加个sudo(ubuntu下),这样就可以把Qt安装到/usr/local/Trolltech/Qt-4.5.3目录中。如果要改变安装路径,那么可以在configure命令的后面使用-prefix选项来做到这一点。

3,环境变量的设置

①,如图:

打开.bashrc,在最后添加下图所示内容(这里要用到vi命令,如不会请补一下vi操作命令):

输入:wq 回车保存退出!再在终端下输入下图所示命令使我们刚设置的环境变量生效:

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓本人是在ubuntu下安装的,如果你是ubuntu按照我的步骤即可,下面作为补充内容,大家↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓随便看看吧↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓如果使用的shell是bash、ksh、zsh或者sh,那么请把以下两行代码添加到.profile中:

如果使用的shell是csh或者tcsh,那么请把下面一行代码添加到.login文件中:

如果使用了configure的-prefix选项,那么请使用你自己指定的路径来代替这里给出的默认路径。

如果你正在使用的编译器不支持rpath命令,那么还必须扩展LD_LIBRARY_PATH环境变量,使其包含/usr/local/Trolltech/Qt-4.5.3/lib。对于带有GCC的Linux用户来讲,则没有必要执行这一步

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

4,安装还没结束!!!!!稍等,还没安装Qt4的开发包,开发个鸟啊!!!

继续执行下面图中的命令!!

5,验证安装

在命令行输入:qmake –v 回车

假设QT输出下面的信息:

/////////////////////////////////////////

Qmake version: 1.07a (Qt 3.3.8) //我们安装的是4.5.3,但是确是3.3.8,没安装成功

Qmake is free software from Trolltech ASA.

//上面输出的2行信息表示你的qmake链接指向Qt3.3.8的版本而不是Qt4.5,你需要检查你的安装是否成功,以及环境变量是否配置正确。

//////////////////////////////////////////

如果你看到如下的信息,则表示你的Qt 4.5配置成功了。

图中的版本就是我们安装的QT,耶!!!!!!!!!

/////////////////////////////////////////////

5,删除源码和配置文件,这一步是可选的

运行make clean命令后,可以删除掉本次安装时的源码和配置文件,这样可以节省空间。以安装Qt4.5版为例,如果采用configure -static -release的参数编译,执行make clean后,大约可以节省500 Mb的空间。

(进入你运行make的那个文件夹运行make clean)

如果你想以后在不改变原来配置的基础上,多编译一些内容,比如数据库驱动的话,就不要执行这个命令了。

///////////////////////////////////////////////////////////////////////////////////////////////////////// 下面附上本人在安装过程中遇到的挫折以及解决办法!

一,

编译一个很简单的测试程序,源码如下:

每当编译运行的时候都会产生下面的错误

(编译过程是①qmake –project②qmake Hello.pro③make)

这时候怎么办?

答:

①,

②,

③,现在错误就只剩下权限不够了,如下所示:

④,我们来sudo make 就可以执行makefile文件了

⑤,./Hello 就得到了如图所示的小对话框

////////////////////////////////////解决方法很重要!!!!

(解决办法参考:https://www.sodocs.net/doc/4210547253.html,/bbs/thread-179567-1-1.html 我把这个地上的内容附在文章最后面)

分析,提示说在usr/include/qt4/QtCore里找不到文件QtGui/QApplication,可能的原因是:,未安装libqt4-dev QT4开发包

,装了,但是调用了QT3的qmake。

用dpkg –L qt4-qmake | grep qmake | grep bin可以找到QT4 make的路径,然后执行/usr/bin/qmake-qt4 或者/usr/share/qt4/bin/qmake 即可执行QT4的qmake。

(不懂spkg命令自己查百度)

二,如何切换到root用户?

答:

(提示:如果你是新安装的ubuntu,无法使用图中的命令来切换,那就跟着我来做这一步。解释:Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许su 到root ,对于桌面用户来说这个可能是为了增强安全性。

三,使设置的环境变量生效?

答:下图所示

四,this指向哪?

答:This是一个时时刻刻指向这个类实例对象的本身的指针。

五,如何在命令行下重启linux操作系统

答:reboot.

六,linux里查看环境变量的指令是?

答:env

七,restart的用法?

答:restart用于单个服务的重新启动,放在命令尾部,确切的说,是个参数,如: service network restart

八,vi中的复制命令是?

答::1,5y 回车是复制1-5行

在命令模式下输入p直接在光标处开始粘贴剪贴板中的内容

九,Permission denied 是什么意思?如何解决?

答:权限不够,用sudo或者切换的root用户下。

十,vi命令中追加内容的指令是?重写覆盖命令是?

答:如下图所示

重写覆盖是:1,9w!>1.txt ,一个>号

十一,看懂下面的图文介绍!!(这个很简单吧)

十二,下面的错误是由什么产生的?

原因如下,丢了个/(斜杠)

十三,在执行./configure时如果提示“没什么可做的’first’”怎么办?

答:ke clean 清楚之前编译的文件

十四:

Export 输出出口导出

Export QTDIR=/usr/local/Trolltech/Qt-4.5.3

十五:为什么类的静态函数只能方位static?

答:因为static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。

十六,什么情况下声明为静态数据成员?

答:如果某些成员函数只访问静态数据成员,那么最好把他们声明为静态的成员函数,因为这样不需要特定的对象就可以访问这些成员变量了。(用类名也可以访问)

十七:比如,修改一下PATH,当然我可以通过PATH=$PATH:/... ,那这些环境变量的设置是在哪个文件夹里?

答:系统:

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.

并从/etc/profile.d目录的配置文件中搜集shell的设置.

/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

当前用户:

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

十八:如何使用tar命令将当前路径下的文件解压到指定路径下?

答:t ar –zxvf 压缩文件名字–C 路径

截个实战图给你看看

如果不懂-zxvf参数的意思,自己man或者百度,google

///////////////////////////////

参考了

https://www.sodocs.net/doc/4210547253.html,/bbs/thread-179567-1-1.html

Qt经典出错信息之QApplication: No such file or directory

这个出错信息一般是新手在编译Qt4第一个应用”Hello,World”的时候,翻开Qt编程的第一个例子。都说很简单。

#include

#include

int main(int argc, char *argv[])

{

QApplication app(argc,argv);

QWidget *ww=new QWidget();

ww->resize(300,200);

ww->show();

return app.exec();

}

一编译结果出现了上面这个错误,那叫一个郁闷。

其实花点心思照着提示,新手也是可以自己解决问题的。根据提示QApplication提示,应该是头文件没找到。那我们可以查看当前目录下Makefile里的环境变量INCPATH知道make 应用是去哪里找头文件的。例如

./Makefile 文件部分内容

15 CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)

16 INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore

-I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I.

17 LINK = g++

第16行里面的,对应的去查找/usr/include/qt4/QtGui/QApplication这个文件是否存在(一般是不存在,存在就不会出错了)。不存在QApplication文件的原因大致有两个

1)没有装Qt4的开发包 .

解决办法把开发包装上,比如ubuntu下就是在shell里执行sudo install libqt4-dev;Fedora/SUSe下是在shell里执行sudo yum install qt4-devel

2) Qt4的开发包装了,但是调用了Qt3的qmake

因为有的系统里既装了Qt3,又装了Qt4。如果调用了qt3的qmake,那么上头的INCPATH 里的头文件路径也指向了Qt3,那么是找不到QApplication这个文件的。对应的解决方法就是调用Qt4安装路径下的qmake去生成Makefile,最好用全路径。我的机器Qt4中qmake 安装路径是

zhu@ubuntu:~/test/widget$ dpkg -L qt4-qmake |grep qmake |grep bin

/usr/bin/qmake-qt4

/usr/share/qt4/bin/qmake

所以只要执行

/usr/bin/qmake-qt4;make 或者/usr/share/qt4/bin/qmake:make

都能以Qt4的文件去编译这个最简单的Qt4应用。

本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容,并不得用于商业用途。谢谢合作。

原文链接:https://www.sodocs.net/doc/4210547253.html,/blog/?p=307

//////////////////////////////////////////////////////

参考了

2.编译安装的方法

从qt的网站中下载文件qt-x11-opensource-src-4.5.2.tar.gz(在写作本书时采用的就是这个版本,但当你阅读此书时,使用的文件可能已经发生了改变)。在X11中,要把Qt

安装到它的默认位置,需要拥有root权限。如果没有root权限,那么请使用config工具的-prefix选项来指定一个你具有操作权限的目录。

第1步:把当前路径切换到你存放下载文件的目录处

例如:

第2步:解压缩该压缩文件

命令是:

此时会生成一个/tmp/qt-x11-opensource-src-4.5.2目录。Qt需要的是GNU的tar工具,而在某些系统中它称为gtar。

第3步:运行configure

在整个的编译过程中,configure这一步很关键。configure的作用有两个,一是生成平台相关的qmake;二是配置Qt的Feature,比如源文件放在哪里,库在哪里,是否支持OpenGL等等。

用你喜欢的选项来执行configure工具,它可用于编译Qt库以及与Qt一起提供的工具软件:

要查看configure的配置选项列表,可以运行./configure -help命令。

如果configure失败,可以以使用-v选项查看具体的原因,命令是./configure -v 如果以后需要在这次配置的基础上更改选项,先要运行make confclean命令以清除之前的配置。

第4步:执行make

这一步是根据configure时由qmake生成的makefile来编译QT库。只要前面配置好了,一般不会出什么问题。

要编译Qt,输入命令:

这样将会生成Qt库,同时也会编译所有的演示程序、示例程序和工具软件。在某些系统中,make命令称为gmake。

第5步:安装Qt

输入命令:

然后输入root密码。(在某些系统中,上述命令是:sudo make install)这样就可以把Qt安装到/usr/local/Trolltech/Qt-4.5.2目录中。如果要改变安装路径,那么可以在configure命令的后面使用-prefix选项来做到这一点。如果你已经对安装目录具有写操作权限的话,那么只需输入以下命令即可:

第6步:设置环境变量

如果使用的shell是bash、ksh、zsh或者sh,那么请把以下两行代码添加到.profile 中:

如果使用的shell是csh或者tcsh,那么请把下面一行代码添加到.login文件中:

如果使用了configure的-prefix选项,那么请使用你自己指定的路径来代替这里给出的默认路径。

如果你正在使用的编译器不支持rpath命令,那么还必须扩展LD_LIBRARY_PATH环境变量,使其包含/usr/local/Trolltech/Qt-4.5.3/lib。对于带有GCC的Linux用户来讲,则没有必要执行这一步。

第7步:验证安装

在命令行输入:

看看输出是什么。

举个例子,如果你看到的是如下的输出,则表示你的qmake链接指向Qt3.3.8的版本而不是Qt4.5,你需要检查你的安装是否成功,以及环境变量是否配置正确。

如果你看到如下的信息,则表示你的Qt 4.5配置成功了。

第8步:删除源码和配置文件

这一步是可选的,运行make clean命令后,可以删除掉本次安装时的源码和配置文件,这样可以节省空间。笔者做过测试,以安装Qt4.5版为例,如果采用configure -static -release的参数编译,执行make clean后,大约可以节省500 Mb的空间。

如果你想以后在不改变原来配置的基础上,多编译一些内容,比如数据库驱动的话,就不要执行这个命令了。

小贴士:如果你还需要要编译Qt3的程序,你最好使用其它的用户进行安装,并建立Qt3

对应的环境变量。实际应用中,还存在这种情况,就是系统中自带了Qt3的包,而你又编译安装了Qt4库,那么使用中最方便的调用Qt4库的方法是将命令qmake改为输入qmake-qt4

/////////////////////////////////////////////////////////////////////////////////////

Linux_Qt_4环境配置

Linux下Qt 4.8.0 环境配置 Step1:在诺基亚官QT网下载文件包 https://www.sodocs.net/doc/4210547253.html,/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz Step2:打开取得root权限,将安装包解压到/usr/local 下 [CentOS@localhost ~]$ su root [root@localhost CentOS]# tar zxf /tmp/qt-everywhere-opensource-src-4.8.0.tar.gz -C /usr/local (不加-C的话在解压时会出现Not found in archive 的错误) Step3:安装Qt的一些依赖软件包 A.gcc C++ 编译器 B.Xlib库,在软件添加中找到libX11-dev,libXext-dev,libXtst-dev这三个包并安装 C.Make包,可以在终端中用yum命令安装 Step4:用root权限执行Qt中的配置文件configure [CentOS@localhost ~]$ cd $QTDIR (QTDIR是在.bash_profile定义好的环境变量) [CentOS@localhost qt-everywhere-opensource-src-4.8.0]$ su root [root@localhost qt-everywhere-opensource-src-4.8.0]# ./configure 出现以下提示 Which edition of Qt do you want to use ? Type 'c' if you want to use the Commercial Edition. Type 'o' if you want to use the Open Source Edition. 输入”o”开始安装编译环境 Step5:配置结束后中遇到如下提示 [root@localhost qt-everywhere-opensource-src-4.8.0]# gmake 开始Qt安装编译,大概需要2个小时左右

qt程序在linux console模式下运行

Qt程序在linux Console模式下运行 原文链接:在x86非图形界面下运行QtEmbedded程序 众所周知,一般我们在桌面环境下可以使用qvfb这个工具作为运行QtEmbedded程序的模拟器环境,但我们今天不讲这些大家都知道的事情。 回顾一下QtEmbedded对系统以及硬件的要求,一般来说只有下面少少的几点: 1、 Linux内核+ framebuffer驱动+ socket支持 2、 /tmp可写 3、有合适的键盘和鼠标(触摸屏)驱动并做好与Qt的集成 4、合适的编译器和交叉编译工具链(toolchain) 那么聪明的同学已经想到了,为什么我们不能直接在桌面的linux系统中运行QtE程序呢?似乎QtE的要求我们的桌面系统一样可以满足亚。答案当然是肯定的。 一条一条来说的话, 1内核支持framebuffer和socket这一条大部分发行版默认的内核就可以; 2就不用说了;3在QtE的源码里自带了对普通桌面鼠标和键盘硬件的驱动;4对于X86系统,普通的gcc就可满足,一般linux发行版带的gcc版本也基本可以满足QtE编译的要求。 那么,怎么才能实现我们的想法呢?还是要一步一步按部就班来做。以笔者的Ubuntu 为例,介绍一下设置的具体步骤。 编译QtEmbedded 这一步编译和编译qvfb版本区别不大,只是不再需要configure的时候加-qvfb参 数,只用不加参数的configure足矣。 # tar -zxvf qt-em bedded-linux-opensource-src-4.5.1.tar.gz # cd qt-em bedded-linux-opensource-src-4.5.1 # ./configure -embedded x86 –qvfb // 我的编译情况是: ./confignre –prefix /work/Trolltech/QtEm bedded-4.5.1–no-o penssl # gmake # gmake install qt-em bedded 被安装在这个目录下/usr/local/Trolltech/QtEmbedded-4.5.1 设置环境变量: # vi ~/.bashrc 把下面的加上去 export QTEDIR=/usr/local/Trolltech/QtEm bedded-4.5.1 export PATH=/usr/local/Trolltech/QtEm bedded-4.5.1/bin:$PAT H export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEm bedded-4.5.1/lib:$LD_LIBRA RY_PATH

实验一、Qt实验环境搭建和使用

实验一、Qt实验环境的搭建和使用 一、实验目的 1、熟悉Qt的安装步骤 2、熟悉Qt程序的基本结构 二、实验内容 1、搭建虚拟机+Linux实验环境 2、安装Qt4.8 步骤: (1)解压代码 tar zxvf qt-everywhere-opensource-src-4.8.2.tar.gz (2)执行./config生成makefile ./config 下面出现对话框选择open source edition.这是自由版。输入yes接受协议。 (3)编译QT 执行make命令,需要2个小时。 (4)安装QT 运行make install命令。需要几分钟时间,默认安装到/usr/local/Trolltech/Qt-4.8.2. 运行/usr/local/Trolltech/Qt-4.5.3/bin/designer ,若能启动QT,说明QT已经安装好了。 (5)设置环境变量 更改用户环境变量 gedit /home/envi/.bashrc 添加: export QTDIR=/usr/local/Trolltech/Qt-4.8.2 export PA TH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PA TH=$QTDIR/lib:$LD_LIBRARY_PA TH 更改包括root用户的环境变量 sudo gedit /etc/profile 添加: export QTDIR=/usr/local/Trolltech/Qt-4.8.2 export PA TH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PA TH=$QTDIR/lib:$LD_LIBRARY_PA TH (6)测试环境变量 重启测试环境变量: qmake -v 显示版本信息:

QT开发经验

QT学习笔记 1.QT不支持中文路径(文件夹和名称)! 2.QT的编译结果窗口不能正常显示汉字(显示的汉字为乱码) 3.如果程序中使用了PNP以外格式的图片如gif文件,在发布程序时要将 plugins目录下的imageformats文件夹下的对应的Qgif4.dll同时发布。4.在将某一项目的所有文件拷贝至别的文件夹后,系统编译生成的文件夹不会 自动改变,需要再手工改: 5.切换对话框语言: 6.QT单编译某一文件,在文件名上击右键: 7.QT在初始打开项目、点击编译后等,暂时没反应,是正常的,需要等一会: 如下图,读入新的项目,过一会,左下角的绿色图标才会显现(开始是灰色)8.Shadow build选项作用是新建文件夹存放编译结果文件,否则就放在源文件 夹下: 9.【依赖关系】用来设置此项目还依赖于其他的项目(如依赖于另外一个项目 生成的lib库或dll),这样,编译时,会统一自动维持最新编译版本 10.QT的联机帮助的index方式,可以输入关键字,检索条目。但必须打开sidebar 才能显示输入检索关键字的界面: 11.QT编译执行时,显示下列信息: 一种原因是找不到某一DLL。究竟缺少哪一个,可以在开发环境外,直接执行exe文件,会显示: 12.QT Creator执行ReBuild命令,或者是编译时,偶尔会出现并没有重新编译 的现象,例如:将项目中某些文件删除掉(在。Pro中删除,然后保存。),再执行ReBuild,然后运行,发现还是删除前的执行程序,并没有ReBuild。 可能是太过智能,认为没啥变化。 后来发现,在编译设置中,disable了clean steps!恢复clean steps后,开发环境将先做清除,这样就可以正确判断变化了: 13.QT有这样的现象:编译执行run的结果如下: 而执行debug时,弹出对话框,与run不一样,显示了一个错误对话框:14.为了运行时不拷贝需要的dll到当前文件夹(省事),可以设置运行环境变量 PATH。QT编译运行的环境设置见下图,其中PATH会不会自动与Windows系统的设置同步不知道: Windows系统的设置

Linux-Ubuntu 下 Qt 4.7.1静态编译

Qt的静态编译是本文介绍的内容,相比较来说windows的Qt静态编译比较容易,相反对于linux编译网上的文章实践下来都有这样那样的错误,这里简要小结一下自己的编译成果。 一、实验环境 1Ubuntu 10.04 2qt-x11-opensource-4.7.1.tar.gz 二、前期准备 在安装好Ubuntu 10.04后默认是没有安装程序编译软件包的,所以我们首先是要配置ubuntu。 配置方法:(推荐全程root用户模式) 1、首先调整网络设置使得机器可以上网(具体做法因人而异,这边就忽略不计) 2、需要配置的安装包:输入命令: 3apt-get install build-essential libpcap0.8-dev libx11-dev libfreetype6-dev 4libavahi-gobject-dev libSM-dev libXrender-dev libfontconfig-dev libXext-dev 三、静态编译Qt 1、下载qt-x11-opensource-4.7.1.tar.gz 2、解压缩qt-x11-opensource-4.7.1.tar.gz 3、配置path 输入命令: 5export PATH="$PATH:/usr/local/Trolltech/Qt-4.7.1/bin" 4、进入qt解压目录,配置configure命令:./configure -static -nomake demos

-nomake examples -nomake tools -no-exceptions 5、分别输入“o”和“y”以后进入编译阶段 6make 7make install 慢慢等吧…… 四、静态编译Qt程序 1、建立文件夹,然后写程序文件XX.cpp 2、qmake -project 3、生成pro文件后在里面加入CONFIG += static 4、qmake 5、生成Makefile后在cxxflags的=后插入-static 6、make 小结:实现Ubuntu 下Qt4.7.1静态编译的内容介绍完了,希望本篇的静态编译读你有所帮助。 【编辑推荐】 8Qt中根据不同版本号使用不同源码 9解析Qt资源文件使用 10深度解析QT 介绍跨平台界面库 11Windows下Qt 静态编译连接 12浅谈Qt 静态编译 原文参考:https://www.sodocs.net/doc/4210547253.html,/symbian-270510.htm

Qt5.5.1编译说明

第一次编译已经成功-webkit可用,SSL可用-开荒之旅,历尽艰辛. 第二次编译已经成功-webkit可用,SSL可用-旧事重提,高歌猛进. 建议参考第二次编译说明. 本机使用Qt官方的安装器,已经安装了msvc2010,msvc2013,msvc2013_64和Qt5.5.1源码. 本文在WIN7 x64下用MSVC2010x64动态编译Qt5.5.1源码.没有编译dbus,sql驱动只编译了sqllite.因为dbus是linux下的,驱动是第三方库,没有安装,就无法编译. 源码根目录README有很多有用信息,Qt官方网页也有很多有用信息. ●前置工具: 1.ActivePerl5.8 or later 2.Python2.7 or later 3.Ruby没找到要求,我用的2.2.4 4.DirectX SDK不然编译失败,提示和ANGLE有关,大意是要DX SDK才能把把opengl映射到A NGLE,就算使用-opengl desktop也编译失败,不清楚为什么.DirectX SDK会自己设置一个环境变量DXSDK_DIR.Qt源码自带angle源码,不用去下载,也不用单独编译. 5.C++ compiler supporting the C++98 standard 前四个工具安装后,会自动配置环境变量,也必须有,否则就得在cmd中再配置.ActivePerl在p ath中必须位于msysgit的perl之前(如果有) 关于Windows SDK 7.1和Visual Studio 2010和Visual Studio 2010 SP1,官方是这么说的: if you use this SDK with Visual Studio 2010, installing the SDK requires installing the foll owing packages in this order. 注意有if,如果没安装SDK 7.1,不用鸟这部分内容. ●第三方库: 1.ICU-采用动态编译,X64 Debug和Release都编译了,并且分开存贮. 2.SSL-采用动态编译,X64 Debug和Release都编译了,并且分开存贮. 第三方库的编译,一定要按要求走到最后一步,编译出来最终是什么目录结构(即安装后),就是什么目录结构,别改. 第三方库的编译,使用Debug版本和Release版本都可以,关键是lib和dll要对应.比如xd.lib 要和xd.dll相对应;x.lib要和x.dll.当然有的库编译出来的D/R名字一样,对于debug版本,它没有在名字后面加后缀d. 第三方库的编译,没有必要编译两个配置,一个Release配置就够了,Qt官方就是这么干的,并且官方用的动态编译. ●注意事项: [注意]在第一次编译中,编译了ICU和SSL的X64的D和R两个版本(动态编译,所有测试用例

【IT专家】Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake

本文由我司收集整编,推荐下载,如有疑问,请与我司联系Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确 认qmake 2017/06/02 449 patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器 ?patchelf --set-rpath ?patchelf --set-interpreter ?通过这个工具https://github/probonopd/linuxdeployqt如果自己编译不了,也可以下载现成的 ?https://github/probonopd/linuxdeployqt/releases ?运行./linuxdeployqt-2-x86_64.AppImage ShanbayDict 并为成功,生成的lib目录下的so文件很少。 ?运行./linuxdeployqt-2-x86_64.AppImage ShanbayDict -appimage 也未成功,但lib 生成了很多so文件 ?使用patchelf --set-rpath /opt/Qt-5.7-static/lib/:./lib ShanbayDict 修改rpath后,ShanbayDict可以独立运行了,连同lib一起拷贝到新安装的Ubuntu 16.04系统中,也能运行了。 ?ldd ShanbayDict 显示,rpath已经指向./lib目录 ?patchelf可以通过sudo apt installpatchelf 安装 ?2017年2月24日 ?Qt 5.8编译的Qt程序 ?设置环境变量,确认qmake -v 是自己使用的Qt版本,如果不是,解决办法是: ?export PATH=/home/lieefu/Qt5.8.0/5.8/gcc_64/bin:$PATH ?创建qml目录,把/home/lieefu/Qt5.8.0/5.8/gcc_64/qml 目录下用到的模块复制过来,我的app用到了三个QtQuick、QtQuick.2、QtMultimedia。 ?增加plugin中platforminputcontexts 包括libfcitxplatforminputcontextplugin.so文

QT编译与配置(静态库与静态运行时库)

QT编译与配置(静态库与静态运行时库) Qt是一个跨平台的应用程序程序框架,可以运行于Windows、Linux、Mac、S60等平台,自从其开源的授权协议由GPL变为LGPL后就变得流行起来。LGPL协议允许使用者开发私有程序而不开源,前提是Qt库必须以动态链接的方式加入程序。 打开Qt的下载页面,可以看到SDK和Library的下载链接。 SDK提供了完整的开发环境,而Library仅仅包含代码和编译出的库。这里的库都是动态链接的Release和Debug版库(相应的Configure参数为-debug-and-release -shared)。而如果需要静态库,就要自己编译了,如果不想自己编译,qtcn论坛上有不少已编译的静态库可以直接下载,地址 https://www.sodocs.net/doc/4210547253.html,/bbs/read.php?tid=11800。 如果要自行编译,那么备好一份代码就够了,ftp://https://www.sodocs.net/doc/4210547253.html,/qt/source/下有Qt的各个版本的代码下载 下面介绍一下Windows下的静态库编译过程 编译代码有基本的两步,configure和make,不过在这之前还要设置好编译环境。如果是VS,只要执行“Visual Studio 200X命令提示”就行了,如果是Mingw,需要把mingw下的bin目录加入到环境变量中。 这里推荐的configure命令是 configure [-release|-debug|-debug-and-release] -static -no-qt3support -no-webkit -platform [win32-g++|win32-msvc2008|...]

【IT专家】《Linux与Qt程序设计》知识框架

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 《Linux与Qt程序设计》知识框架 本文主要是通过一本书来大致了解Qt开发的框架,不对具体内容做详细分析。?1.首先弄清楚概念:定义- 以自己的话理解是什么- 实现的是什么功能- 用在哪些地方 ?2.前面认识到的知识点的特点- 代码实现- 工程代码分析 ?第一部分Linux基础知识第二部分Qt程序基础第5章OtCreator下载与安装5.1 QtCreator下载5.1.1 使用软件中心下载QtCreator5.1.2 访问Qt网站下载相关资源5.2 第一个Qt程序5.3 QtCreator介绍5.3.1 QtCreator界面介绍5.3.2 编译、调试、发布设置5.4 QtDesigner介绍第6章Qt基础6.1 Qt概述与特性6.1.1 Qt简介6.1.2 Qt特性 ?Qt SDK包括:Qt库、Qt Creator IDE、Qt工具:Qt Designer、Qt Linguist(消除国际化流程障碍)、Qt Assistant. ?6.2 Qt与Xll的关系6.2.1 什么是X116.2.2 Qt与Xl16.3 Qt与KDE的关系6.3.1 KDE简介6.3.2 Qt与KDE6.4 Qt库和组件 ?Qt SDK中主要包括类库、开发工具、平台相关支持、授权许可等。 ?其中类库包含了Qt的所有对外发布的功能组件: ?1)Core: Qt4的基本模块,定义了其他模块使用的Qt核心的非GUI类,所有其他模块都依赖于该模块。 ?2)GUI: 定义了图形用户界面类 ?3)WebKit:提供了一个在Qt中使用Web Browser的渲染与解析引擎。 ?4)Graphic View:提供的是一种Qt Model-View编程模式,既可以管理大数量的定制2D graphical items,又可以与它们交互,由于一个视图窗口可以把这些项绘制出来,并支持旋转与缩放。 ?5)Scripting:提供了对脚本(如:Java、Python、Perl、Ruby)的支持。 ?6)OpenGL ?7)XML: 定义了处理XML(eXtensible Markup Language)语言的类。

Qt开发环境下载和安装

Qt开发环境下载和安装 (2015.01.18 by Winland) Qt是跨平台的图形开发库,目前由Digia全资子公司Qt Company 独立运营,官方网址:http://www.qt.io/ 也可以访问Qt项目域名:https://www.sodocs.net/doc/4210547253.html,/ 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/

QT程序,如何在ARM板上运行

QT程序,如何在ARM板上运行写这篇文章,主要是为了说明怎么让PC机下编译好的QT程序移植到板子上运行。在说明之前,我们要了解一个事情,就是QT。QT是一个跨平台的开发工具,具有很好的移植性,它所依赖的库文件在PC机上和在ARM上是不一样的,那么我要怎么做呢? 很简单,就是重新编译已经写好的QT程序。为什么需要重新编译,第一,ARM的CPU的指令集和PC的CPU指令集肯定是不一样的,也就是需要交叉编译。第二:由于QT所依赖的库文件不一样,在不同的指令集得CPU里,库是需要移植的。我这里假设ARM板的文件系统里已经移植好了QT相关的库文件(具体怎么移植,我会再写一篇文章),移植好后,在开发板上就可以移植QT程序了。 那么,具体我要怎么编译呢?我们都知道,编译好的QT的程序,一般会有几个.CPP\.h文件,这么多的文件我们要怎么样编译。首先,我们需要安装QT版本的库,一定要注意,这个库文件一定和开发板上的是同一个库。我们假设这个库名字叫qtembed450-arm。以下步骤一定要注意: 1.安装目录一定要在“/usr/local/”下; 2.安装成功后,这步非常关键,一定要设置环境变量,而且,我们要设置三个环境变量,这样做有三个目的:①可以在任何路径下用库里的命令②编译时候可以指定编译规则为 arm-linux-g++③编译时候可以指定到所需要的库文件。那么安装后,输入一下命令:gedit /root/.bashrc.这个命令执行后就进入到设置环境变量的地方,我们要加入以下三个环境变量的设置: export PATH=$PATH:/usr/local/qtembed450-arm/bin export LD_LIBRARY_PATH=$LD_LTBRARY_PATH:/usr/local/qtembed450-arm/lib export QMAKESPEC=/usr/local/qtembed450-arm/mkspecs/default 以上设置非常的重要,非常的关键。呵呵,先照着设置,具体原因我会细谈。注意,我编译用的很重要的qmake-arm 命令,就在/usr/local/qtembed450-arm/bin下,可以打开看看哦!环境变量设置好后,用which qmake-arm 命令来确认下是否成功,呵呵。 3.准备工作做到这里,算是进行一半了,哎,真累啊!还要接着写呢。接下来我们要把我们的编译好的QT程序的文件夹打开,把里面的 .CPP/.h文件拷贝出来,新建立一个文件夹; 4.把以上的文件里的.cpp .h文件复制后新建立一个文件夹。 5.新文件夹建立后,在linux终端中进入到该文件夹所在目录下,执行这个命令:qmake-arm -project命令,千万注意,-project 和arm之间一定要有空格啊!该命令执行后,会生成一个.pro文件,紧接着呢,执行qmake-arm命令,该命令执行后呢,会生成一个Makefile文件,这步很关键哦,没有这步就不会有Makefile文件,一般在这步会出现很多错误,就是库没有发现之类,这个时候,一定要检查前面的步骤,仔细检查看是否是错误。我们这个时候打开Makefile文件看一下,会发现,里面的编译已经变成 arm-linux-g++。这个时候,就踏实,接下来怎么办?还用问吗,直接make下就好了,哈哈,简单吧!看到上面的qtmyjpg文件了吗?这个是可以在开发板上运行的哦!接下来

01.linux下搭建opencv并在qt中使用

linux下搭建opencv并在qt中使用 作者:vmezr 由于最近要着手做pcduino上的视频聊天的项目,从未接触过pcduino,经过讨论决定使用qt来实现。其实qt和opencv 我都没有接触过,也打算趁机学习一下。言归正传,首先得搭建好需要的环境,第一步是安装配置opencv,然后在qt中使用opencv的库。 (opencv的安装方法部分参考雷雨同鞋哒~) 首先,在官网https://www.sodocs.net/doc/4210547253.html,/中下载opencv原码,选择linux版本进行下载。 以opencv2.4.8为例:(我用的是opencv2.4.13) 1.将压缩包解压到/usr/local/ 2.直接使用sudo apt-get install cmake下载并安装cmake 3.为了方便后续摄像头捕捉等功能还需要下载opencv依赖的一些包: apt-cache search opencv 使用此命令可以直接查到需要下载的依赖包 leo@leo-virtual-machine:/usr/local/opencv/release$ apt-cache search opencv libcv-dev - Translation package for libcv-dev libcv2.3 - computer vision library - libcv* translation package libcvaux-dev - Translation package for libcvaux-dev libcvaux2.3 - computer vision library - libcvaux translation package libhighgui-dev - Translation package for libhighgui-dev libhighgui2.3 - computer vision library - libhighgui translation package libopencv-calib3d-dev - development files for libopencv-calib3d libopencv-calib3d2.3 - computer vision Camera Calibration library

QT环境搭建

Windows下: 节介绍Qt 5.9.0 在 Windows 平台下的安装,请提前下载好 Qt 5.9.0。目前较高版本的 Qt 仅支持 Win7 及其以后的操作系统,不支持 Win XP;使用Win XP 的读者请安装 Qt 5.5.1 之前的版本。 Qt 占用的存储空间很大,安装之前建议先准备好 8GB 以上的磁盘空间。 对于目前 Qt 最新版开发环境,如果不安装源代码包,实际占用大约 5.5GB; 如果选择安装源码包,大约占用 7.5GB。 双击下载得到的qt-opensource-windows-x86-5.9.0.exe 即可开始安装。Qt 的安装过程和普通的 Windows 软件一样,按照向导进行操作即可。 关于 Qt 的安装需要说明以下几点。 1) 注册和登录 Qt 在安装过程中会提示用户进行注册和登录,不用理会,跳过(Skip)即可,实际开发时不需要登录。 图1:Qt 安装过程中提示用户注册

2) 安装路径和关联文件 图2:指定 Qt 安装路径 Qt 允许用户自定义安装路径,但是请注意,安装路径不能带空格、中文字符或者其它任何特殊字符。 另外,该界面还会询问是否关联特定的文件类型。如果关联(默认是关联的),特定后缀的文件(包括 .cpp 文件)默认使用 Qt 打开。我喜欢使用纯文本编辑器(例如 Sublime Text)来打开C++ 源文件,所以我取消了该选项,读者根据自己的实际情况定夺。 3) 选择安装组件 Qt 安装过程中最关键的一步是组件的选择,请看下图:

图3:Qt 组件 Qt 的安装组件分为两部分:一部分是“Qt 5.9”分类下的,该分类包含的是真正的 Qt 开发库组件;另一部分是“Tools”分类下的,该分类包含的是集成开发环境和编译工具。

Linux下用QT进行软件开发的流程

Linux下用QT进行软件开发的流程 QT 2009-11-20 17:09:49 阅读69 评论0 字号:大中小 1.用QT Designer开发非GUI的C/C++软件 1)建立工程:双击上图中的C++ Project; 2)新建源程序并添加到工程中:新建hello.cpp后会自动加入到工程, hello.cpp如下: #include using namespace std; int main() { cout<<"Hello! this program is created by QT Designer !"<

windows下Qt环境变量的设置

windows下Qt环境变量的设置 在Qt中编译程序完成后,想到文件夹里运行一下生成的exe文件。 这时“BANG”,系统报错:“没有找到mingwm10.dll,因此这个程序未能启动。重新安装应用程序可能会修复此问题。”或“没有找到QtCored4.dll,因此这个程序未能启动。重新安装应用程序可能会修复此问题。” 那么就是因为还没有给系统配置Qt的环境变量。 到“我的电脑->属性->高级->环境变量->系统变量”中编辑Path,补上Qt的bin 路径 “;X:/Qt/2010.02.1/bin;X:/Qt/2010.02.1/qt/bin;X:/Qt/2010.02.1/mingw/bin”即可,其中“X”对应安装Qt的硬盘盘符,改之。 网上有太多关于Windows下Qt配置的文章,各有各的说法,按照他们的去做也都不行。经过一番摸索之后,终于算是把Windows下Qt的开发环境给配置好了。首先,说明的是Qt Open Source已经不支持Visual Studio了,因为Qt公司把这个功能当作Qt Commerical里面的一个功能了。所以,不要想在VC6.0或VS2005下用Qt了,当然,至于是不是真的能用我自己也没有去尝试。我这里,只是翻译了Qt公司网站上的一句话罢了,呵呵,废话不多说了。 Qt for Windows有两种格式的文件:一种是exe格式的,一个是src格式的。当然,这里我推荐大家下载exe格式的文件,因为不用那么繁琐的配置和编译,只要点OK就行了。 一、exe格式的Qt for Windows的安装与配置过程 1、安装MinGW,这个是必须的,到哪里去下载,这个我就不多说了。我用的是MinGw的3.4.2版本的。也是exe格式的MinGW,只要一路点OK就行了。当然,最好装在C:\MinGW下吧,因为好找啊。呵呵 2、安装exe格式的Qt for Windows,当在安装的过程中会有提示MinGW的安装路径,这时默认的就是C:\MinGW所以,只要一路OK就行了。Qt for windows 的默认安装路径是:C:\Qt\4.4.3\,当然这里我的Qt版本是4.4.3的。 3、将Qt for Windows的bin目录添加到环境变量里面,添加方法:我的电脑-》属性-》高级-》环境变量,找到名为PATH的环境变量,然后点编辑,在后面加上C:\Qt\4.4.3\就行了,当然这个路径要和原来的路径之间用分号;分开的。

QT4.7.3 VS2008环境搭建

(默认VS2008已经安装) 方法一(推荐): 步骤如下: 1、下载安装:qt-win-opensource-4.7.3-vs2008.exe 下载地址:https://www.sodocs.net/doc/4210547253.html,/qt/source/qt-win-opensource-4.7.3-vs2008.exe 2、下载安装:qt-vs-addin-1.1.9.exe 下载地址:https://www.sodocs.net/doc/4210547253.html,/vsaddin/qt-vs-addin-1.1.9.exe 安装很容易,安装完成。 方法二: 1、下载源代码:qt-everywhere-opensource-src-4.7.3.zip 下载地址:https://www.sodocs.net/doc/4210547253.html,/qt/source/qt-everywhere-opensource-src-4.7.3.zip 2、将qt-everywhere-opensource-src-4.7.3.zip解压到某个目录下; 3、配置环境变量,在用户变量中添加QTDIR,值为qt-everywhere-opensource-src-4.7.3.zip 所在目录(例如I:\qt-everywhere-opensource-src-4.7.3);另外,在“系统变量”中的Path变量中添加I:\qt-everywhere-opensource-src-4.7.3\bin,用“;”隔开。如把Path值改成I:\qt-everywhere-opensource-src-4.7.3\bin;%SystemRoot%\system32;%SystemRoot%; 4、使用Visual Studio 2008Command Prompt,进入Microsoft Visual Studio9.0\Common7\Tools\目录下,执行vsvars32.bat,执行完,进入L:\qt-win-opensource- src- 4.5.1。 5、输入指令: configure -platformwin32-msvc2008 -debug-and-release。等一阵子,大概十几分钟,configure就会完成。这一步一定要注意,我前几次编译没通过都是因为configure参数出了问题。网上绝大多数帖子都说加上个static参数。我感觉这个静态编译参数没有必要,而且编译后体积太大。仅仅一个hello world控制台应用程序都快上M了。一个空的Qt GUI应用程序都好几M,虽然可以只用一个可执行文件就可以拿到别的机子上跑,可是如果有几个可执行文件,就很不划算了,每个都好几M,加起来会很臃肿,Qt官方文档中也不提倡这么做。还有,加上-static就无法编译通过。如果第一个理由不足以说服你放弃static,那第二个总可以了吧,呵呵。有两次,我加了static参数,头一次编译到webKit的时候报错,无法继续编译了。第二次,我用-no-webkit不编译webkit,可是到了Opengl又出问题了。提示说什么变量名冲突,结果又一次没编译通过。后来不用static就编译成功了。 6、输入nmake。等上4-6个小时,就完成编译了。占用10G硬盘空间。 7、这一步很重要,关系到是否能用qt-vs-addin。 把I:\qt-everywhere-opensource-src-4.7.3下的.qmake.cache和configure.cache这两个文件手动备份到另一个地方。然后输入指令: nmake confclean; 8、几分钟后,清理完成,那个文件夹会从10G锐减到700M,这个时候再把刚备份的.qmake.cache和configure.cache拷回原处。这时候最好把编译后的一堆东西打个包备个份,免得下次又要编译几个小时...打包之后只有207M 9、安装qt-vs-addin-1.1.9.exe (https://www.sodocs.net/doc/4210547253.html,/vsaddin/qt-vs-addin-1.1.9.exe)装完之后,打开VS2008,菜单栏会多出一个Qt选项,选择Qt选项下的Qt Options,在Qt Versions中添加路径,点击Add,选择路径https://www.sodocs.net/doc/4210547253.html,/vsaddin/qt-vs-addin-1.1.9.exe,OK。(如果第7步中没有备份并还原.qmake.cache和configure.cache这两个文件,这里是无法添加的) 10、大功告成,辛辛苦苦编译了半天终于可以爽一把了。呵呵

Linux下QT程序开发实训个人总结

实训报告 实训名称:基于Linux下QT程序开发应用姓名: 院系: 专业班级: 学号: 指导老师:

实训总结 首先在技能方面,我们在这周实训中运用了 Linux开发环境搭建,安装了虚拟机VMware10,再用了QT平台的界面开发安装了Qt Creator,这个也仅仅是界面品台的搭建工作。 在6月12号这一天中我们完成 Linux开发环境搭建工作和和中文输入法,6月14日我们对QT平台的界面开发安装了Qt Creator 和QTCreator下C++应用开发,简单测试了RAM环境下开发和Windows环境下的开发;6月15日我们主要是开始了界面的开发工作,完成界面与开发板和传感器的互联工作。 在这次实训中,虽然我们在这学期学了Linux课程,但是这次的VMware虚拟机的版本不同,它采用的是全英文的系统,这个对我这个英语不好的人来说也算是一个硬伤,但好在我们小组敬芳芳的英语不错,简易的错误她还是能够翻译出来。当然安装过程中问题还是很多的。 其中有一些基础问题,在安装过程中没有管理D盘内的存储空间,导致在安装过程中由于磁盘空间大小不足的问题,无法进行正常安装;还有就是在15日界面程序开发中,输入程序时将单词打错,漏掉单词的问题。正是这些小问题,一直阻碍实验的进程。 还有一些技术性的问题,在14日root权限登录过程中找不到root登录界面,随后只有求助老师才知道是没有关闭自动登录;安装g++失败,询问老师才知道,需要将命令“sudo apt-get install linux-g++”修改为“sudo apt-get install g++”。15日中Qt编

Qt for WinCE 环境搭建心得

Qt for WinCE 环境搭建心得 李振宇2011-10-17 由于c#版终端软件在WinCE终端上运行不稳定,因此考虑用C++(Qt)重新开发,以前用Qt的SDK安装很方便,可是Qt Wince环境必须要编译Qt源代码,为了搭建环境经历了很多周折,历尽艰辛,花了3天时间,终于搞定了,现把主要步骤和注意事项记下,以留备用。 原来的开发环境设计msvc2005 + qt4.7.4 + qt-vs-addin1.1.9 (qt的此两项为当前最新版本)可是由于qt4.7.4在编译(for wince)时出现错误,此为qt4.7.4的一个Bug(见资料1),因此改为qt4.7.3。msvc2005在安装win32版时,由于只有msvc2008编译版,重新编译麻烦,因此改为msvc2008,否则Debug版编译有问题(见资料2)。还有qt-vs-addin1.1.9在和msvc2008,wince6.0搭配有问题,加不了qt库(见资料3),因此改用qt-vs-addin1.1.8。开发板方面用的是ARM9的SmartArm3250(wince 6.0)。 最终开发环境为msvc2008 + qt4.7.3 + qt-vs-addin1.1.9 资料1 : qt4.7.4 for wince bug 现象:编译qt库时出现错误error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t 参考资料:https://https://www.sodocs.net/doc/4210547253.html,/browse/QTBUG-21331 Description:When building the Windows CE version of Qt4.7.4 (using e.g., configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008, linking (nmake) fails with the following output ... Creating library ..\..\lib\QtGuid4.lib and object ..\..\lib\QtGuid4.exp pngwrite.obj : error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t ..\..\lib\QtGuid4.dll : fatal error LNK1120: 1 unresolved externals Function gmtime is not available under Windows CE / Windows Mobile, so that would explain the linker error. I marked the Component as Image formats, as it seems to be related to pngwrite / libpng. Answer:But QT 4.7.4 for WinCE have problems with maximized forms ( form.showMaximized() ) I have to get back to 4.7.3 version. 资料2 : msvc2005 Debug版不能用qt-win-opensource-4.7.3-vs2008.exe 参考资料:https://www.sodocs.net/doc/4210547253.html,/yibobin/blog/item/7fe8b9f01cbd76d47831aa28.html 结论1:如果你想把Qt4.6.2安装在VS2005中,又不想花时间编译,请下载和安装qt-win-opensource-4.6.2-vs2008,并单独编译“QT安装路径\src\winmain\” 结论2:在安装qt-win-opensource-4.6.2-vs2008(msvc9/vs2008已编译版)之前千万不要安装qt-sdk-win-opensource-2010.02.1(miniGW已编译版),如果不幸安装了,请先卸掉它,切记!

相关主题