如何在vs环境下使用QT?

如何在vs环境下使用QT?,第1张

安装VS

安装QT-MSVC版本

安装QT for VS plugin 可以在vs中建立QT和打开QT项目;

新建QT项目(GUI项目为者困郑例)

双击自动用Designer打开.ui文件,编辑保存之。(设计界面首颂)

在VS中添加相应代码以实现.ui中组尺轿件功能。(实现功能)

编译,运行。。。

1. 下载qt的安装包和vs2010的qt插件,大家可以到下面的地址进行下载

BBS: http://www.qtcn.org/bbs/read-htm-tid-1075.html

官网:

http://www.qt.io/download/

本人是在BBS上找到的,官网上没仔细去找了(英文太多)。

2. 安装qt sdk

安装其实很简单了,基本上一路回车即可,主要是要注意下qt的安装路径最好安装在全英文路径而且中间没有空格, 安装好后漏悉,可以运行开始菜单里面的qt demo,直观感受下qt的强大功能!

界面非常炫酷

4. 编译qt

qt默认使用mingw进行编译,如果要使用vs2010开发,需要将qt重新编译。

入开始菜单microsoft visual studio 2010,visual studio tools,visual studio

command prompt (2010),需要注意的是,这里面必须是使用visual studio command prompt

(2010),不能使用cmd的dos窗口

进入qt的安装目录后,执行cd qt,进入qt的根目录

运行命令 configure -platform win32-msvc2010,o(选择opensource模式)回车,y(同意license)回车

k1988插入:

在编译过程中,为了加快速度,可以对configure适当的加些参数,比如-fast,-no-webkit(这个貌似挺耗时的)

选择的命令行:configure -platform win32-msvc2010 -fast -debug-and-release

-no-webkit -no-script -no-qt3support -nomake demos -nomake examples

-nomake tools -mp

其中:mp是多线程编译选项。

接着就会自动配置qt的编译环境,等配置结束后,运行nmake,回车,qt就会开始漫长返姿乎的编译过程,这段时间非常长,需要4个小时以上。

liuyu遇到的问题:(自己遇到过,当时没记录下来,但是记得编译过程中遇到这些问题)

1.DefaultLocalizationStrategy.cpp

C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/INCLUDE/yvals.h(21) : war

ning C4005: ‘_HAS_TR1’ : macro redefinition

command-line arguments : see previous definition of ‘_HAS_TR1’

platform/DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant

platform/DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected en

d of file in macro expansion

NMAKE : fatal error U1077: ‘“C:/Program Files (x86)/Microsoft Visual Studio 10.0

/VC/册敏BIN/cl.EXE”’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘“C:/Program Files (x86)/Microsoft Visual Studio 10.0

/VC/BIN/nmake.exe”’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’

Stop.

解决办法:

打开文件…/Qt4.8.5/src/3rdparty/webkit/Source/WebCore

/platform/DefaultLocalizationStrategy.cpp

找到327行删除的引号“”

2.NMAKE:fatal error U1077. return code 0x2

产生原因:找不到代码文件中包含的头文件

解决办法:cmd下进入到vs安装路径/VC/Bin下,执行vcvars32,此时会执行vcvas32.bat自动为vs设置环境变量 (这个也试过好几回,没效果,依然出现上面错误)试试下面的就解决了:

经分析,是环境变量设置的CURR_DIR和TARGETDIR值中含有空格导致了此问题。

通过下面的命令删除环境变量即可。

在d:/Qt/4.8.6目录下键入下面的命令即可(不是很明白)

接着继续nmake命令 回车换行

k1988插入:(本人未找到以下文件)

请先删除

src/3rdparty/webkit/webcore/tmp/moc/debug_shared/mocinclude.tmp

src/3rdparty/webkit/webcore/tmp/moc/release_shared/mocinclude.tmp

/src/script/tmp/moc/debug_shared/mocinclude.tmp

/src/script/tmp/moc/release_shared/mocinclude.tmp

等文件,否则编译有可能失败。

k1988插入:

这一步很重要,关系到是否能用qt-vs-addin。

把d:/qt/bin下的.qmake.cache和configure.cache这两个文件手动备份到另一个地方。

(本人未尝试过)然后使用nmake clean进行清理掉那些中间文件(pdb,obj等文件),清理出4个g左右的空间。

nmake confclean是清理配制文件,占的空间不大,可以不执行了。这个时候再把刚备份的.qmake.cache和configure.cache拷回原处。

5.配置vs2010的qt开发环境(vs2010最好是英文版本,qt对vs2010中文版本可能支持的不好)

等qt编译好后就可以配置vs2010的开发环境了,进入vs2010,选择qt菜单,qt option,进入下图界面

k1988插入:

步骤编译好了,用qt助手paths加进去,不知为何ok键不亮, 红字提示:qt in the given path built using

mingw 这个是qt插件的bug,得手工改注册表 hkey_current_user/software/trolltech/versions/

下增加一个子项 qt486(需要的名称) 子项下面增加一个数值 installdir,值就是你要配置的qt路径

ps:如果没有versions这个文件夹就新建一个吧!

(这里确实是个坑,仅仅修改注册表居然没有用,还要去qt的lib文件夹下删掉两个文件 –>>删除qt的lib目录下(我的路径是D:/Qt/4.8.6/lib)的libqtmain.a and libqtmaind.a 两个文件。)

点击add,添加qt的安装目录,并取名字,我这里使用qt的4.8.6版本为名称,选择ok后即可。

6.新建或者导入qt项目

可以通过在vs2010新建一个qt项目

1、一般打不开dll文件的话,就是调用出错。这时候应该将对应的lib文件靠近相应目录试试。如果不行的话。就要考虑库是不是有问题了

2、编译器配置问题吧,lib环境变量中的各个目录里没有就重装吧,或者用绝对路径试下。

3、检查你的lib搜索目录,如果缺少这个文件,从vc++安装盘或者网上找文件拷贝进来。

扩展资料:

分享一个实际解决问题案例:

前段时间在调试qt程序的时候,出现了这样一种情况

编写好的qt程序在qtcreator中,使用mingw编译没有任何问题。

当把编译器切换为msvc(即vs2017的编译器)时,总是会出现cannot open file “shell32.lib

不断的确认库的配置是否正确,以及该文件是否存在,结果都是库的路径正滚庆笑确,文件存在,但就是使用msvc无法编译通过

经过一段时间的思考,既然在qtcreator中使用msvc编译器不行

那么直差带接在vs2017里面编译qt程序是否是可行的

要在vs中运行qt程序,必须要安装qt的插件

可以百度搜索 qt vs tools

下载好对应版本的插件后,确保vs处于关闭状态,双击vsix就可以很简单的安装好了

安装好后还需要进行配置

在这里插入图片描述

点击qt options,依次

Qt Option->Qt Version->add->安装Qt的路径

Qt的安装路径下会有一个msvc的文件夹,就选择该文件夹

插件就会自动识别对应版本

在这里插入图片描述

点击ok完成

开始

点击Qt VS Tools,再点击open Qt project file

打开你的qt程序

开始编译,然后出现了很多错误,但大部分都是报头文件丢失的问题

在编译错误的最下方,说无法找到windows SDK (10.0.190–)

太好笑了,vs2017安装到最新了也只到10.0.17呀

那就更改一下vs的SDK版本 ,到当前的sdk版本

重新点击运行,完美运行,调试正常

结论

可能是由于qt程序默认的sdk版本号过高

当前的vs没有提供合适的sdk,使得编译出错

至于是否真的是这样,就还需要更多的尝试了

特此进行记录,

如果如果有遇到类似问题大含的,

可以尝试使用相同的方法进行解决

也希望对该问题有了解的前辈可以讲解一下其中的具体原因


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12352576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存