目录
前言
Microsoft Visual Studio(简称VS)是美国微软公司发布的开发工具系列产品。VS 是一个比较完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,比如 UML 工具、代码管控工具、集成开发环境(IDE)等。Visual Studio IDE 是目前最流行的 Windows 平台应用程序的集成开发环境,现在最新版本为 Visual Studio 2022,基于.NET Framework 4.8。微软官方平均一到两年就会发布一个 VS 版本出来,因此,在项目实际开发过程中就会遇到不同版本的 VS 打开同一个项目代码的情况,经常会遇到各种各样的问题。今天,本文主要围绕VS 2017打开VS 2019项目时,比较常见的两例错误。
正文
在 VS 2019 中可以正常编译通过,但是使用 VS 2017 打开项目编译时,往往会遇到各种各样的问题,下面来看比较常见的两例错误。
问题一、未知属性“no_init_all”错误
报错截图如下:
其实,这是一个普遍的共性问题,在 VS 2019 中是不存在的,也可以认为在 VS2019 中已经修复了这个问题。如果想在 VS 2017 中编译通过,可以在代码文件中增加如下代码:
#define no_init_all deprecated
或者
#define no_init_all
参考来源:
网址:c++ - Including <Windows.h> causes (unknown attribute"no_init_all") error - Stack Overflow
问题二、报错:“{”: 未找到匹配令牌
使用VS 2017打开工程时,报错:“{”: 未找到匹配令牌。
可能的原因有三个,下面分别介绍一下。
1. 大括号{}前后不匹配
解决:人工或者工具检查代码前后的大括号是否一一对应。
2. Windows和Unix编码标准不同
这种情况多发生在从别处拷贝的代码,比如网页上或者某人机器上粘贴过来的代码。
解决:
1)代码量不多的话,建议自己直接手敲一遍,毕竟还可以顺带学习一下代码。
2)使用其他编辑器打开该文档,修改对应的编码类型,比如Notepad+中的设置选项,如下图所示:
3. 代码行尾不一致
当 VS 2017 打开项目提示“不一致的行尾”时,选择“是”按钮,具体操作如下图所示:
作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解。同时也是 CSDN 博客专家(博客之星)、华为云享专家(共创编辑、十佳博主)、51CTO社区编辑、InfoQ 签约作者,欢迎关注我分享更多干货!😄