vs2015工程向vs2019工程迁移碰到的各种问题

把一个C++工程,从vs2015工程向vs2019工程迁移的过程中,碰到了好多问题,记录如下:


1.   ConfigINI.cpp(85,55): error C2664: “std::string &trim(std::string &)”: 无法将参数 1 
    从“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”转换为“std::string &”
    ConfigINI.cpp(85,45): message : 非常量引用只能绑定到左值
    ConfigINI.cpp(24,9): message : 参见“trim”的声明
    解决办法是增加一个强制类型转换:entry.name = trim((string&)str.substr(0,fIndex));
    
2.  还有一些过期的func要使用,编译选项中增加:/D _CRT_SECURE_NO_WARNINGS。
  
3.  error C3861: “access”: 找不到标识符。access函数在windows中是_access()
  替换一下就好。
  
4.    下面这种打印的表达方式也不被允许了:
    #if 1
    #define     VosPrint(fmt,args...)  do{ \
                char _PrtBuf[1000]; \
                sprintf(_PrtBuf,":" fmt , ## args); \
                Log_MsgLine("vos.log",_PrtBuf); \
                }while(0)
    #else
    #define     VosPrint(fmt,args...)  
    #endif
    重新找一个logger模块,新建过滤器,包括logger子模块源代码进来。
   5. 此外sprintf要改为snprintf。strcpy要改为strcpy_s。
    改动还是比较多,感觉就是ISO的c++ 14标准变得更严格了,这也是好事,避免可能的出错。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
服务器搬迁方案 一、系统状况分析 机房的搬迁工作是整个搬家工作中关键的部分,所有的设备将在规定的菪机时间内从 原有的机房备搬迁到新的地方,只有按照预定的计划,服务器在预计的时间内全部恢复 正常的使用,才意味着搬迁工程的结束。首先要检验系统配置:系统配置主要确认硬件 设备的配置清单,这份清单的准确性直接影响到备件的备货情况,在搬迁过程中如果出 现硬件的问题,我们将有足够的备件来协调处理服务器的维修,能够在正常的菪机时间 内判断故障,排除故障,及时地解决问题,所以在系统检测时一定要仔细,认真,保证 数据的真实性。实施的时候我们将安排公司资深的工程师来收集这方面的数据,并做好 书面得报告,并以电子文档的形式告诉用户,以备后用。 应用描述:应用的描述也是一个重要的方面。每台服务器都是在运行不同的应用,我们 收集这方面的资料以后,会根据不同的应用来考虑,如果机器在搬迁过程中出现由于系 统问题导致应用无法启动,将会准备一系列的方案,来协调其他的服务器来处理这部分 的应用或者使用我们的备机来使机器恢复正常的运行。这部分的工作我们将在用户的配 合下来实施完成。 服务时间:服务时间的确定也是搬迁工作中不可缺少的部分,我们会根据每台服务器的 不同性质来安排每台机器的菪机时间,根据每台机器的不同的菪机时间来确定我们整个 搬迁过程的安排,从而使搬迁过程能够顺利进行。避免计划外的菪机时间。 项目实施过程 (一)搬迁的准备 搬迁的准备工作是整个搬迁工作的极其重要的部分。在搬迁以前,我们要针对现有的服 务器设备进行一次全面的检测工作,包括:硬件的配置的检测和软件信息的检测。准备 工作要做的充分,这是保证搬迁工作能够顺利进行的首要条件。通过检测我们不仅可以 有效地把一部分隐患排除在搬迁之前,确保在搬迁过程中,机器设备的故障率降到最低 ,从而避免在搬迁工程中的计划外菪机时间。 机房设备的检测 1)硬件设备的检测 针对服务器的硬件设备,我们将详细的记录服务器的硬件配置信息,在搬迁以前明确硬 件配置,具有针对性地准备一些备件,在服务器菪机的时候能够及时的修复服务器,及 时的解决由于硬件故障产生的计划外菪机,避免不必要的菪机时间。 2)服务器软件应用的检测 针对服务器的软件应用,我们同样也要进行一些常规的检测,把一些由于软件问题产生 菪机时间减少到最低限度。从而使搬迁工作能够顺利进行。 2.数据的备份 数据的安全性在每个企业中都是至关重要,数据的丢失,不是以金钱来衡量的,所以数 据备份在搬迁过程中显得尤为重要,甲方负责搬迁前数据备份工作,即使在搬迁过程中 ,真正遇到服务器系统问题时,我们也能够在最短的时间内解决问题,减少计划外的菪 机时间。确保搬迁工作的顺利进行。 3.设备标示 我们会在搬迁以前对所有的服务器设备做好标示,做到一一对应,保证在搬迁过程中能 够准确的找到某一台机器设备,保证搬迁的顺利进行。标示主要分为: 1)、硬盘的标示:在某一块硬盘上做好标示,根据机器的阵列配置信息,给某一块硬盘 标上号,然后把硬盘从服务器上取下,放在专用的配件箱内,用泡沫塑料包装好后,待 运。注意:在做标签的时候一定要让标签能够牢牢地固定在硬盘上,以免在搬迁过程中 标签脱落。影响搬迁工作的顺利进行。 2)、服务器标示:对某一台服务器的参数,我们将制成壹张参数表粘贴在服务器的上部 。 4.备机的提供 在搬迁过程中,为了更好的防止突发事件的出现,我们还会为重要的服务器提供几台备 机,确保在突发事件出现时能够及时地恢复服务器的正常运行。备机将预先存放在的库 房中,在需要使用备机的时候,我们将派专车送到用户现场。(响应的时间〈=4小时〉 5.新机房服务器的定位 在搬迁以前,机房装修结束后,我们会安排工程师到现场查看机柜的摆放情况,并根据 提供服务器的安装方案,由甲方确认后,作为安装的附件,发到安装工程师的手中,以 便在搬迁的时候使用。 搬迁过程 1.服务器设备的拆卸 工程师按照项目进度表的时间来确定服务器设备的拆卸时间,严格遵守规范化操作,保 证机器设备没有物理性的损坏。 操作步骤: 1)、把连接服务器的数据线和电源线拔掉,从服务器的机柜上拆卸下来,所有的电源线 放置在统一的包装箱中,在包装箱上写上货物的名称,并打包封后待运。 2)、把服务器从服务器的机柜上拆卸下来,放到指定的包装箱中,在包装箱的外壳上写 上货物的名称,并打包封箱后待运。 3)、把服务器的导轨从机架上拆卸下来,并贴上标签,注明使用的机器的名称,放到指 定的包装箱中,在包装箱上标明货物的名称,并打包封箱后待运。 4)、把PDU从服务器的机柜上拆卸下来,放到指定的包装箱中,在包装箱的外壳上写上 货物名称,并打包封箱后待运。 5)、所有的螺丝等辅助设备全部放在统一的包装箱中保存待运。 2.运输过程 使用专业的设备运输包装箱,确保
当将一个项目从Visual Studio 2015升级到Visual Studio 2017时,可能会遇到一些语法错误。这是因为不同版本的编译器可能有不同的语法要求和支持的功能。 以下是一些可能遇到的常见问题和解决方法: 1. C++标准更改:不同版本的编译器可能支持不同的C++标准。如果你的代码使用了某些在新标准中引入的语法或功能,但旧版本的编译器不支持,升级后可能会出现语法错误。解决方法是将代码更新为符合新标准的语法,或者在项目属性中设置编译器选项以支持旧标准。 2. 头文件包含路径:升级后,项目文件夹结构可能会改变,导致头文件包含路径不正确。检查项目属性中的包含路径设置,确保正确引用头文件。 3. 第三方库和依赖项:升级后,一些第三方库和依赖项可能需要进行更新或重新配置。检查项目依赖项和链接设置,确保正确引用和链接所需的库文件。 4. API变更:不同版本的API可能会有变化,导致旧代码无法在新版本中编译通过。查阅新版本的API文档,了解API的变化,并相应地更新你的代码。 5. 编译器警告和错误:升级后,编译器可能会更严格地检查代码,并给出更多的警告和错误。解决这些问题需要仔细阅读编译器的错误信息,并根据提示进行修复。 总之,将项目从一个版本的Visual Studio迁移到另一个版本时,需要仔细检查和处理语法错误。在升级之前,建议先备份项目,并确保在新版本中进行全面的测试和调试,以确保项目可以正常编译和运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值