C++(41)-低版本升级到VS2019项目时遇到的问题(2)

news/2024/11/24 19:43:09/

1.错误码:MSB8066 代码为3
  QT 项目老版本升级到新版本造成的,
     1.重新加载项目: 扩展->QT VS tools->Open QT project files->
      2.添加QT模块:QT Project-Settings -> QT Modules

2.无法打开QT的头文件

3.“const char*” "char*" 形参不兼容
强制转换
 

4.错误号:MSB8066

查看 .vcxproj.user这个文件。
原因:项目里配置的QT路径没有设对。

 在图形界面的属性页中设置是没有用的。

5.原始版本:VS2010+QT4+qwt(vs2010+qt4编译)OK的。
  想把这个程序移植到 VS2019+QT5+qwt(vs2010+qt4编译)

 5.1 VS2019环境配置成可以运行qt 项目 vs2019+qt插件
     5.1.1下载插件并安装

    Index of /official_releases/vsaddin
     5.1.2 QT Visual Studio Tools 下载与安装
     5.1.2 ​​​​​​Qt Visual Studio Tools - Visual Studio Marketplace

     如果下载的是exe,则直接双击就可以安装了,安装前确保qt和vs都已经安装完成。

     如果下载的是“.vsix”文件,则要通过命令行安装,找到VS安装目录下的VSIXInstaller.exe所在目录,如:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\VSIXInstaller.exe
cmd命令窗口切换到这个路径下,然后执行“VSIXInstaller.exe + .vsix文件绝对路径”并按回车,就可以执行安装了,另外在VS Extension Manager(工具 - >扩展管理器)中应该也可以安装。

5.2 VS2019+QT4内核:
      5.2.1C/C++ :附加包含目录:
              $(QT_4)\include,$(QT_4)\ActiveQt,$(QT_4)\QtCore,$(QT_4)\include\QtGui
    5.2.2链接器:输入
            $(QT_4)\lib\QtGuid4.lib;$(QT_4)\lib\QtCored4.lib
   5.2.3环境变量:我的电脑->环境变量->path   

5.1.4 VS2019下配置QT4.8环境:

   1.取消系统变量 Qt_INCLUDEPATH_
   2.C:\Users\Administrator\AppData\Local\QtMsBuild中添加qt4.natvis.xml

 3.Qt VS Tools中添加QT4.8版本。

不能直接在VS2019中创建工程,打开已建好的工程文件后出现:

3.1. 在vs2010下新建一个qt4demo程序。
3.2. 在vs2019下打开。
3.3.转换成qt项目。右击“解决方案”->qt->convert custome build steps to Qt/MSBuild
3.4.属性页->Qt Project Settings 

  1. Qt Resource Compiler
    • rcc:移除Initialization Function Name=%(Filename)

    • Qt Meta-Object Compiler

      moc:移除Prepend Include中的stdafx.h

3.5.会出现ui无法识别的问题:

做如下的设置后可以编译通过:

 

 至此的解决方法是重新编译qt4的源码+VS2010用的库。
 所以这条路没走通。

5.2配置成QT5内核+QWT+MSVC2017:  

   出如下错:


http://www.ppmy.cn/news/27221.html

相关文章

从WEB到PWA 开发-发布-安装

见意如题!本文主要来说说PWA开发!作为一个前端程序员,在没有任何Android/IOS的开发情况下,想想我们有多少种方法来开发一个原生移动应用程序!我们可以有非原生、混合开发,PWA等等手段。类似uniapp&#xff…

电动汽车充放电的优化调度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【3】linux命令每日分享——mv改名或移动

大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的类UNIX操作系统,Linux的基本思想有两点:一切都是文件;每个文件都有确定的用途;linux涉及到IT行业的方方面面,在我们日常的学习中&…

Mysql Hive中distinct 和 group by 效率

在Mysql中 distinct 从结果中删除重复行 group by 是分组聚合 在语义相同,有索引的情况下: group by和distinct都能使用索引,效率相同。因为group by和distinct近乎等价,distinct可以被看做是特殊的group by。 在语义相同&…

WEB静态交互展示【数据mock】

文章目录背景需求分析实现过程1.爬取原有项目数据2.将数据引入项目3.打包收工后记背景 接到公司一个【离谱】的需求,要求把已有的项目做一个演示版本(静态文件版本);本人觉得前端、后端搞个容器包,一个演示版本不就有…

ES-倒排索引BKD原理skiplist

1.Elasticsearch数据存储结构FST、skiplist、BKD-tree、LSM-tree Elasticsearch数据结构存储流程_善思的博客-CSDN博客_elasticsearch 数据结构 number?keyword?傻傻分不清楚 - Elastic 中文社区 ElasticSearch实战(六)-Skip List 跳表算法&#xf…

鲲鹏云服务器上使用 traceroute 命令跟踪路由

traceroute 命令跟踪路由 它由遍布全球的几万局域网和数百万台计算机组成,并通过用于异构网络的TCP/IP协议进行网间通信。互联网中,信息的传送是通过网中许多段的传输介质和设备(路由器,交换机,服务器,网关…

【Python】序列与列表(列表元素的增删改查,求之,列表推导式、列表的拷贝)

一、序列序列的概念:按照某种顺序排列的数据类型就叫做序列,比如字符串,列表,元组,集合序列的共同点是都有下标,支持index()方法和count(),也支持切片处理(等同于字符串序列的切片处理)l1 [0, …