使用vs2010开发qt程序的一点经验(转载)

车臣 车臣     2022-07-30     783

关键词:

转载:http://www.cnblogs.com/csuftzzk/p/VS_Qt_Experience.html

 

导读

     相比于Qt Creator,我更喜欢用VS2010来进行开发。虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手。其中最重要的一点是,有时候Qt Creator报的错误莫名其妙。要根据提示找到错误根源显得无从下手。而VS的一般错误说明都比较人性化,即便在某些时候无从解决,也可以通过搜索引擎大致定位出错误的源头。下面是在调试网上的一些源代码的时候,积累下来的一点经验,记下来一来备忘,二来也可供后来人参考。

The system cannot find the path specified

      当我从用VS2010打开从网上下载下来的源代码工程进行编译的时候,输出栏中出现了一系列如下的错误提示:

     我的开发环境为:VS2010 32位旗舰版,Windows 7 64位,Qt库版本为5.2.1。第一次遇到这样的问题,还真的莫名其妙。于是上网搜了搜,发现了一些苗头。该工程原本是使用Qt 4.x进行开发的,但是本人使用的是Qt 5.2.1。因此我想应该是Qt库的版本不同而造成的。后来在Qt开发者社区中发现了一个解决方案,具体解决过程如下:

找到工程目录下面的.vcxproj文件,打开并搜索关键字:QtVersion

 

     替换为如下内容:

     这时再回到VS,会发现如下提示:

      点击重新加载之后,如果直接开始编译工程会得到如下的错误提示:

     很显然,我们需要配置下该工程的Qt库版本。因为我们在.vcxproj文件中改动了工程使用的Qt库版本,于是这里需要在Qt-VS-Addon插件中进行配置,选择Qt Project Settings弹出如下对话框,选择当前可用的Qt库版本(我的版本名称为msvc2010),然后如右侧图所示勾选必须的模块:

     点击OK,然后上述错误就可以被消除了。对于基于其他Qt版本的工程,也可以如上进行移植。移植过程中会需要修改头文件,毕竟Qt 4.x和Qt 5.x相比差异性较大,这也是我在阅读人家源代码的时候最大的烦恼。往往改着改着就不想改了,因为牵涉的版本问题(包括Qt和VS,甚至第三方库)太多太折磨人了。

Qt 4.x port to Qt 5.x

     上面说过,如果要移植基于Qt 4.x的工程到Qt 5.x,要做的事情还真比较多。这一节就讲讲Qt库的lib文件。以上例说明,当上述错误修改好后,编译工作并不能顺利完成,在我的机器上报出来如下的错误:

      前面编译工作都没报错,显然是连接阶段出错了。看上面这名字,似乎是QtCored.lib这个文件的过度版本无法找到。于是,执行操作:“点击项目名称->右键选择项目属性->配置属性->链接器->输入->附加依赖项”,可以看到:

      在Qt的安装目录下(如:C:\Qt\Qt5.2.1\5.2.1\msvc2010_opengl\lib),我并没找到以上这些lib文件,于是尝试用上述目录中对应的lib文件进行替换:

     重新编译工程,此时编译过程顺利结束,生成了期待中的可执行程序。这仅仅是lib文件的设置,源代码的修改其实是另一大难题。尤其是QtGui在Qt 5.x中已经消失,因此需要大面积修改文件内容。

切换工程使用的Qt库

      当机器中同时安装了多个版本的Qt库的时候,在VS也可以自如的指定使用那个版本进行编译。当然,仅仅限于大版本相同的情况下,因为这时需要修改源码的地方较小,甚至不需要修改就可以完成编译工作。如果大版本不同的话,修改源码是免不了的一件事。

      如何添加不同的Qt库版本到VS中来呢?这个工作就交由qt-vs-addin来完成吧。 在菜单栏中选中Qt options,点击Add按钮并选择好Qt库的安装路径即可,版本名可自定义。在Qt Default Settings页面中,还可以指定一些编译时的默认设置。

值得注意的是,在VS中首次建立好Qt工程之后,如果后续又添加了不同Qt库版本,并尝试用新的Qt库来编译工程,那么一定要将新的Qt库的名称保持与建立工程时选择的Qt库名称保持一致,否则将会出现无法理解的错误,或许摸索一整天都不会有结果。当然,或许修改.vcxproj文件也许有用。

在VS的Solution Explorer视图中建立文件夹

     在VS中如何直接新建文件夹,并且保持和文件系统同步呢?以前的做法是,先在工程目录下建立一个新的文件夹,然后到VS工程视图中引入进来。虽然可以用,未免显得太过麻烦。如下是一个经过实践的办法:

     在Solution Explorer视图中点击工程名称,可以发现上面有个小图标出现了(提示信息为:显示所有文件),而点击解决方案名称的时候,这个图标又消失了。点击一下这个图标,顿时可以发现当前工程目录在磁盘上的所有文件都出现了,包括编译过程中产生的各种中间文件。显然,这就是我们要的!建立文件夹的步骤如下:

      选择好文件夹的名称,打开工程所在目录,对应的文件夹赫然在目!如下是我用文件夹组织工程的前后状况:

      显然清爽了不少。源代码文件在逻辑上进行了划分,对于清晰的理解整个工程的模块、架构都有莫大的帮助。对于后来的开发者和维护人员都是一种灵魂的解脱...

参考

1. http://qt-project.org/forums/viewthread/24277

(转载)vs2010/mfc编程入门之五十二(ribbon界面开发:创建ribbon样式的应用程序框架)

...007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了点击鼠标的次数的新 查看详情

qt笔记之vs开发程序遇到的问题

转载:http://www.cnblogs.com/li-peng/p/3644812.html转载:http://www.cnblogs.com/csuftzzk/p/VS_Qt_Experience.htmlQt 的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。如点击一个QPushButton时,按钮会发送一个... 查看详情

如何利用vs2010进行qt开发的环境配置

...!    界面非常炫酷    4. 编译qt  qt默认使用mingw进行编译,如果要使用vs2010开发,需要将qt重新编译。  进入开始菜单microsoft visual studio 2010,visual studio tools,visual studio command prom... 查看详情

Qt5 VS 2010 - QtSerialPort 库失败

...【发布时间】:2013-11-0722:14:32【问题描述】:我正在尝试使用Qtv5.1.1中新包含的QtSerialPort,但在尝试编译时遇到了一些我没有经验的问题。从我的搜索来看,来自qt5.1的QtSerialPort似乎没有构建并准备好使用,我在这方面是否正确... 查看详情

qt开发环境搭建-windows+vs2010+vs插件

Qt开发环境搭建                              -Windows+VS2010+VS插件1、Qt在Windows平台下的三种开发环境  方案编辑器编... 查看详情

(转载)vs2010/mfc编程入门之五十三(ribbon界面开发:为ribbonbar添加控件)

...bon控件。       VS2010为Ribbon界面开发提供了RibbonDesigner,通过它我们可以为RibbonBar添加各种Ribbon控件、设置控件属性和进行界面布局。 &nbs 查看详情

vs2010+opencv3.4.1开发环境配置(转载)

原文转载:http://blog.sina.com.cn/s/blog_7e4965150102xl0y.html 工具:OpenCV3.4.1VS2010Win7x64下载安装OpenCV3.4.1:1、  前往http://opencv.org/ 如下图所示,点击进入OpenCV3.4.1下载界面,点击下载2、  下载完成点击运行安装 查看详情

急急急~~~vs2010中qt插件运行不了!!!~~~

...目后也可以成功编译,生成EXE文件,但是EXE文件无法正常使用,提示“由于应用程序配置不正确,未能启动此应用程序。请查看清单文件以查找可能的错误。重新安装应用程序可能修复此问题。”。请问应该如何解决?是否需要... 查看详情

vs2010安装qt插件不能编译(网上说的方法'configuration'不是内部或外部命令)

网上说的方法:Qt默认使用mingw进行编译,如果要使用VS2010开发,需要将Qt重新编译。进入开始菜单MicrosoftVisualStudio2010,VisualStudioTools,VisualStudioCommandPrompt(2010),需要注意的是,这里面必须是使用VisualStudioCommandPrompt(2010),不能使... 查看详情

qt+opengl开发环境的搭建

由于项目需要这两天在搭建QT+OpenGL的开发平台。由于是新手不知道QT在WINDOWS下用什么IDE教程里QT的IDE下载地址都用不了。。。求给QTIDE的下载地址。我习惯用VC6.0VS2010也有用过,怎么加入QT插件?回答这问题的我想应该也学过QT和OP... 查看详情

qt4+vs2010环境搭建

1.安装开发所需的软件:vs2010(包括VS2010SP1dvd1,Visual_Assist_X_10.9.2062.0_Crack等)QT:qt-win-opensource-4.8.5-vs2010QTCreator,如qt-creator-opensource-windows-x86-4.1.0VS2010插件,qt-vs-addin-1.1.11-opensource(qt4),此插件 查看详情

qt creator qt5.1 vs2010 使用静态库时链接器错误

】qtcreatorqt5.1vs2010使用静态库时链接器错误【英文标题】:qtcreatorqt5.1vs2010linkererrorwhenusingstaticlibrary【发布时间】:2013-09-2320:23:29【问题描述】:当我尝试在带有qt5.1的qtcreater中使用使用vs2010编译的静态库时遇到问题。我正在使用... 查看详情

vs2010配置qt5.5.0开发环境

一、官网下载QT和qtvsaddin插件网址:http://www.qt.io/download-open-source/1、 2、3、      得到下载的安装包,点击安装就能够了watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/f 查看详情

您可以使用 Xamarin 开发 Linux 应用程序吗?

】您可以使用Xamarin开发Linux应用程序吗?【英文标题】:CanyoudevelopLinuxapplicationswithXamarin?【发布时间】:2016-07-2907:16:21【问题描述】:是否可以使用Xamarin开发和构建具有相同代码库的Linux应用程序?在使用Ubuntu几年后,我现在的... 查看详情

qt开发经验小技巧181-185(代码片段)

...xff0c;从linux开始发展起来的,所以不少Qt程序员经常的开发环境是linux,比如常用的ubuntu等系统,整理了一点常用的linux命令。命令功能sudo-s切换到管理员,如果是sudo-i切换后会改变当前目录。aptinstallg++安装... 查看详情

vs2010中安装qt插件错误

...10时提示:Couldn‘tregisterallQt4VSAddincommands:未能加载文件或程序集"stdole,version=7.0.3300.0......"一个很长的对话框,点击确定后,进入VS2010IDE界面后,没有qt插件菜单。需要在windows的cmd窗口中加载stdold.dll的.net程序集,如下:"C:Program&nb... 查看详情

vs2010中安装qt插件错误

...10时提示:Couldn‘tregisterallQt4VSAddincommands:未能加载文件或程序集"stdole,version=7.0.3300.0......"一个很长的对话框,点击确定后,进入VS2010IDE界面后,没有qt插件菜单。需要在windows的cmd窗口中加载stdold.dll的.net程序集,如下:"C:Program&nb... 查看详情

使用 nmake 为 VS2010 构建 Qt 返回链接错误

】使用nmake为VS2010构建Qt返回链接错误【英文标题】:BuildingQtforVS2010withnmakereturnslinkerror【发布时间】:2012-07-0413:05:48【问题描述】:我正在尝试为VisualStudio2010构建Qt,我正在按照thispost接受的答案中的说明进行操作我正在使用修... 查看详情