学习QT已经有了一年之久,还有很多地方不是很懂经常碰鼻子。今天决定写下开发过程所解决的一些问题,一方面为了巩固之前的收获另一方面为了能系统地整理我的所做所学。本文并非完全原创,是我按照网上各位大神的帖子结合我自己的试验编写的。废话不多说,先进行第一步,软件的安装。
网上大部分的开发者使用的是QTCreator进行上位机的开发,但是因为工作的原因,我一开始就接触QT+VS的这种开发方式。刚开始的时候苦于很难找到网上的例子,到现在做着做着反而更加习惯这样的开发方式了。这一章要讲的是VS2010+QT4.8静态编译就是我面临的比较大的问题。之前按照同事给的软件包安装了动态编译的软件,结果软件编译通过后,拷贝到别的电脑就不能用了。因为动态编译没有将动态库编译进exe文件中因为换一个环境,(电脑)该软件就会因为缺少DLL文件而无法打开。我曾经一度傻到在公司所有电脑上安装我的开发环境来支持打开我编译(release)的软件。后来得知需要进行静态编译才开始着手开始进行静态编译的安装。过程中也遇到了很多坑,到时候你就知道我有多蠢了。
1、下载源码包: qt-everywhere-opensource-src-4.8.0.zip
注意!!!不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的。我就是一直使用动态编译的库,而一直无法正常编译后通过,这点正确了后边照着来就行了。
2、首先解压源码包到你想要保存编译的位置,注意文件目录一定不能包含中文和空格!
3、由于Qt4.8在VS环境下的一些问题,为了避免编译中途出现,网上大神总结了3个地方需要修改。(非原创, 后边好好研究)
(1) 删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改 将发生Perl not found in environment - cannot run syncqt 错误。
(2) 修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的
QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-改成QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t