Win8.1+VS2010环境下Qt4.8.7编译

参考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目录的事,但是项目找到了。以后再发现原因。

下一步安装QtCreator ,

默认选项,

安装完成后,打开QtCreator  ,没有做配置,新建项目,
#include <QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    
    return a.exec();
}
运行成功,

Win8.1+VS2010环境下Qt4.8.7的编译和使用就成功了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值