欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VS2013+Qt 5.4.1

程序员文章站 2023-01-21 21:50:25
qt应用可以用qt creator开发,也可以使用visual studio。我之前一直用qt creator,也始终觉得这是最好的选择。不过有人偏爱visual studio,我...

qt应用可以用qt creator开发,也可以使用visual studio。我之前一直用qt creator,也始终觉得这是最好的选择。不过有人偏爱visual studio,我也因为工作需要,要使用visual studio来开发qt应用。记录一下安装配置过程。

资源下载和安装

需要下列资源:

visual studio 2013 qt sdk 5.4.1(qt-opensource-windows-x86-ms2013_64-5.4.1.exe),这是qt sdk,开发qt应用必须的。 visual studio add-in 1.2.4 for qt5(qt-vs-addin-1.2.4-opensource.exe),这是qt官方提供的针对visual studio的插件,作用是注册到visual studio中,生成一个名为qt5的菜单。

你也可以下载其它的qt版本或vs add-in,这里有所有的https://download.qt.io/archive/。

安装没什么顺序要求,随便。值得注意的是,如果你的 vs 2013安装后一次也没启动过,然后安装了qt vs add-in,然后再启动vs 2013,会发现没有qt5菜单,不过没关系,重启一下vs 2013即可看到下面的图片:

VS2013+Qt 5.4.1

我蓝圈标注的就是新增的qt5菜单。接下来就可以配置qt版本了。

配置

打开qt5菜单,如下图:

VS2013+Qt 5.4.1

选择qt options,出现下图:

VS2013+Qt 5.4.1

点击图示的add按钮,可以添加版本。如下图:

VS2013+Qt 5.4.1

在弹出的add new qt version对话框里,填写 qt 版本,然后选择qt路径。

特别提示:vs2013中添加qt版本时,找的是bin目录下的qmake,所以,应该选择类似“c:\qt\qt5.4.1\5.4\msvc2013_64”这样的。如果不是酱紫的路径,就会报类似下面的错误:

VS2013+Qt 5.4.1

配置了正确的qt version,点击ok按钮后,效果如下:

VS2013+Qt 5.4.1

点击ok按钮,配置就完成了。现在你可以在通过qt5菜单打开pro文件了。

vs里可以配置多个qt版本,相互不冲突。

vs中导入qt项目

vs的qt5菜单中有一个“open qt project file(.pro)”子菜单,通过它可以打开一个qt项目。

我通过qt creator创建了一个qt项目helloqt,然后在vs中打开pro文件,效果如下图所示:

VS2013+Qt 5.4.1

到这里你就可以编译运行了,按ctrl+f5即可。

实际上你在vs中打开pro文件时,qt提供的vs add-in会自动生成一个vcxproj文件(vc项目文件)。如下图:

VS2013+Qt 5.4.1

当你关闭项目时,还会提示你保存解决方案(sln文件)。你保存后,下次可以直接通过sln打开qt项目。

新建一个qt项目

我刚才是先用qt creator创建了一个项目,然后通过vs qt5菜单导入,让vs add-in自动生成了一个适合vs的项目文件(vcxproj)。

实际上我们也可以通过vs文件菜单,直接新建一个qt项目:文件->新建->项目->qt5 projects->qt application。

新建qt5项目时,可以选择项目类型,比如qt application或qt library。还可以选择项目依赖的模块。试一试吧。

用qmake创建一个qt vs工程

最后还有一种方法,直接使用qt sdk里的qmake工具来创建适合vs的qt项目。通过开始菜单里的qt 5.4.1中的qt命令行工具,进入你的工程目录,执行下列命令即可:

qmake -project -t vcapp -o xx.pro(说明:如果你的工程目录就是项目名字,就可以去掉-o xx.pro这两个参数) qmake

然后就可以看到xx.vcxproj文件了。

注意,如果你的工程目录是空的,没有源文件,那上面的命令是无效的。


我个人比较习惯qt creator来开发,如果你也是如此,那实际上可以在qt creator里来开发,开发工作完成后,再导入到vs中来看看有没有什么问题。如果你选择qt sdk时就选择了msvc2013版本的,搭配vs2013,那基本上是不太可能出问题的。