错误 LNK2001:无法解析的外部符号 __CxxFrameHandler4 和 __GSHandlerCheck_EH4

error LNK2001: unresolved external symbol __CxxFrameHandler4 and __GSHandlerCheck_EH4

我正在尝试构建一个库并将其 link 添加到应用程序。库构建没问题,但是 link 到应用程序会抛出这些错误:

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

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

原因

根据 and that,错误可能是由于使用 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 为 VS 2017 而不是 2019 构建的 easiest/fastest 方法是什么?

正如@Tsyvarev 评论的那样,通过替换

解决了错误
cmake .. 

与:

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