C/C++系列编译出现:Unexpected compiler version, expected MSVC **** or newer

在使用开源代码或Cython编译时遇到错误:STL1001: Unexpected compiler version。问题源于环境中的MSVC版本过高。解决方案包括检查项目内的MSVC版本宏定义或调整电脑MSVC版本,如通过卸载安装VS2017或使用VS Installer修改VS2019的MSVC版本。
摘要由CSDN通过智能技术生成

背景

在用一个开源代码时出现了这个问题,我是在对cython编译的时候出现的。但实际上是C/C++编译的问题。
我的环境:VS2019_community

问题描述

错误 C1189 #error: STL1001: Unexpected compiler version, expected MSVC **** or newer.

问题原因

环境MSVC版本过高

解决方案

项目内部有MSVC版本宏定义

参考网址

若源代码内有有关MSVC版本的宏定义,如

#define _MSC_VER 1500

直接改宏定义到你的版本即可,你的版本请自行搜索MSVC版本对应查看

项目内部无宏定义

在项目内部没有相关MSVC版本的宏定义仍有此类错误,可能是你引用的某个模块对MSVC版本有要求。例如我用了CUDA,其中有文件有对MSVC版本的要求

文件地址:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\crt(地址仅供参考,根据安装位置可能会有不同&#x

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值