首页 > 解决方案 > 错误 LNK2001:未解析的外部符号 __CxxFrameHandler4 和 __GSHandlerCheck_EH4

问题描述

我正在尝试构建一个库并将其链接到一个应用程序。库构建很好,但链接到应用程序会引发以下错误:

clipper.lib(clipper.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4

clipper.lib(clipper.obj):错误 LNK2001:无法解析的外部符号 __GSHandlerCheck_EH4

原因

根据thisthat,错误可能是由于使用 VS 2019工具集构建库,但该应用程序使用的是 VS 2017工具集。


试过了

我正在使用以下命令构建库:

cd lib/src/clipper
mkdir build
cd build/
cmake ..
cmake --build . --config Debug
cmake --build . --config Release

即使在 VS 2017 命令提示符下,CMake 也会为 VS 2019 构建库:

CMake 日志截图

问题

强制 CMake 为 VS 2017 而不是 2019 构建的最简单/最快的方法是什么?

标签: c++cmakevisual-studio-2017visual-studio-2019

解决方案


正如@Tsyvarev 评论的那样,错误通过替换得到解决

cmake .. 

和:

cmake  -G "Visual Studio 15 2017 Win64" ..

推荐阅读