visual studio 2019 (社区版)编译出现#error:STL1001错误

出现问题的背景

最近找到一个曾经的开源项目,学习c++,但是发现在编译整个工程的时候出现了编译器相关的报错,因此在这里记录一下。
IDE信息:visual studio 2019(社区版)
报错信息
错误 C1189 #error: STL1001: Unexpected compiler version, expected MSVC 19.22 or newer.

出现问题的原因

通过网络查找社区,看个方面资料,终于定位到问题所在:
#define _MSC_VER 1500
由于这句宏定义要求的mscv版本为15.00版本,而我使用的visual studio 2019 (社区版)使用的mscv版本为19.22,两者版本不对应,导致编译的时候出现编译器版本的报错

解决方案

直接修改这句宏定义为自己使用visual studio的mscv对应版本即可成功编译通过。

#define _MSC_VER 1922
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 这个错误通常会在使用Python中的stl库时出现。这个错误信息提示说,stl模块中没有BaseStl属性。 首先,确认你是否正确导入了stl库。如果你没有正确导入stl库,那么你的代码中就找不到BaseStl属性。你可以使用以下代码来导入stl库: ``` import stl ``` 如果你已经正确导入了stl库,但是仍然遇到此错误,则可能是因为你正在尝试访问一个不存在的属性。请检查你的代码,并确保你正在调用正确的属性。你可以在Python控制台中使用dir()函数来查看模块中存在哪些属性。例如,你可以尝试在控制台中输入以下代码: ``` import stl print(dir(stl)) ``` 这将输出stl模块中存在的所有属性列表。你可以检查这个列表,以确保你正在调用正确的属性。 ### 回答2: AttributeError: module 'stl' has no attribute 'BaseStl'是一个Python错误提示,意思是模块"stl"中没有名为"BaseStl"的属性。 出现这个错误可能有多种原因。首先,可能是因为你在代码中错误地引用了名为"BaseStl"的类或函数。你可以检查代码中是否有拼写错误或其他错误导致无法找到正确的属性。 另外,这个错误也可能是由于你使用的"stl"模块本过低而引起的。"stl"模块是用于处理STL文件的模块,如果你的"stl"模块本过低,可能不支持"BaseStl"属性。你可以尝试更新"stl"模块到最新本,或者查看"stl"模块的文档以确定是否存在"BaseStl"属性的正确用法。 最后,这个错误也可能是因为你未正确安装"stl"模块。你可以尝试重新安装"stl"模块,确保你按照正确的方法安装并正确导入。 总之,要解决AttributeError: module 'stl' has no attribute 'BaseStl'错误,你可以检查代码中是否有拼写错误或其他错误导致无法找到正确的属性,尝试更新"stl"模块到最新本,确保正确安装并导入"stl"模块。 ### 回答3: 这个错误是由于在调用stl模块时出现了一个异常。错误信息中指出,模块stl没有名为BaseStl的属性。 可能的原因是: 1. 没有正确导入stl模块。请确保使用了正确的导入语句,比如"import stl"或"from stl import *"。 2. 本兼容性问题。某些旧本的stl模块可能不支持BaseStl属性。请尝试更新stl模块到最新本,或者查看官方文档以确定可用的属性和函数。 3. BaseStl属性不存在。如果您期望在stl模块中找到BaseStl属性,那么可能该属性不存在。请仔细查阅相关文档或资料,以确定stl模块提供的正确属性和函数。 如果以上方式都无法解决问题,建议您查阅相关的错误信息、文档或社区来获取更详细的帮助和解决方案。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值