参考http://www.cnblogs.com/elect-fans/archive/2012/03/29/2422816.html
下载qt-everywhere-opensource-src-4.8.7.zip ,解压到D盘,最后根据需要修改文件夹名字。
根据上述地址总结的3个需要修改的地方,进行修改。发现第三步,需要修改的上一行“Look Up \"%@\""”也需要修改,因为都是中文的双引号。
为了以后方便使用数据库驱动,建议不要改MD为MT,对应地不在configure命令写-static,在静态编译情况下,使用数据库驱动有些问题,以后再发现原因。在configure的命令中使用-plugin-sql-odbc ,编译ODBC的驱动。或者等需要用时进入\src\plugins\sqldrivers\odbc ,执行qmake odbc.pro ,然后执行nmake 。在\plugins\sqldrivers就有qsqlodbc4.dll(lib)和qsqlodbcd4.dll(lib),ODBC的驱动就编译好了。
然后是系统环境变量的设置:
新建QTDIR变量,变量值D:\qt-src-4.8.7\qt4.8.7
新建QMAKESPEC变量,变量值win32-msvc2010在PATH变量中添加D:\qt-src-4.8.7\qt4.8.7\bin
然后通过VS2010的命令提示符执行configure -fast -debug-and-release -plugin-sql-odbc -nomake demos -nomake examples -nomake docs -mp ;如果加上-platform win32-msvc2010 ,是不行的,所以不写。
结束后,运行nmake。
编译成功结束,占5个G的空间。
下一步就是VS插件的安装,注意插件的版本要一致,在这里先停下来。先是装错了Qt5的插件,
#include "test.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
test w;
w.show();
return a.exec();
}
由于Qt4的库,Qt5的插件,Qt5使用QtWidgets模块,Qt4只有QtGui模块,上述Qt5的写法使用Qt4的库,自然编译错误:fatal error C1083: 无法打开包括文件:“QtWidgets/QMainWindow”: No such file or directory 。头文件都在,修改源码中相应头文件的位置,编译成功,但是运行错误:fatal error LNK1104: 无法打开文件“Qt5Cored.lib” 。偶然得到这个错误,“得来全不费功夫”。根据需要选择Qt的版本。如果编译Qt5,在文件夹下的qtbase目录下,从这里执行config 。
接下来继续安装Qt4的插件,
默认选项,
安装完成后,进入VS2010,选择Qt菜单,Qt Options,点击Add,选择Qt路径,名字自动取好。
新建项目,
#include "test2.h"
#include <QtGui/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
test2 w;
w.show();
return a.exec();
}
运行成功,
没有做关于include目录的事,但是项目找到了。以后再发现原因。
#include <QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
运行成功,