已解决:fatal error C1189: #error: pybind11 requires MSVC update 3 or newer

时间:2024-03-19 13:51:49

1、问题描述:

编译的时候出现:pybind11 requires MSVC 2015 update 3 or newer 的提示信息。具体如下图所示。
已解决:fatal error C1189: #error: pybind11 requires MSVC 2015 update 3 or newer

2、原因:

VS版本过低

3、解决方案:

3.1 根出错提示信息,打开出错文件查找错误信息,我的是在 common.h 的71行。
3.2 记事本打开找到出错位置如下:已解决:fatal error C1189: #error: pybind11 requires MSVC 2015 update 3 or newer
3.3 看到要求 _MSC_FULL_VER 版本要大于 190024210。

你首先 查看自己的是否满足要求。
下面是几个常见的版本对应查看方式:

(1)打开VS,在菜单:帮助-关于Microsoft Visual Studio
已解决:fatal error C1189: #error: pybind11 requires MSVC 2015 update 3 or newer

(2)MSVC_VERSION版本: https://cmake.org/cmake/help/v3.7/variable/MSVC_VERSION.html
(3) _MSC_VER 和 _MSC_FULL_VER: https://dev.to/yumetodo/list-of-mscver-and-mscfullver-8nd
部分截图:
已解决:fatal error C1189: #error: pybind11 requires MSVC 2015 update 3 or newer

(4)官网: https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2017

3.4 更新你的VS到合适版本

VS2015,打开菜单栏下的:工具->拓展和更新->更新-> 产品更新。 选择合适版本更新就行。更新过程需要关掉VS,而且更新比较慢。