c++ - 错误 LNK2001:未解析的外部符号 __CxxFrameHandler4 和 __GSHandlerCheck_EH4
问题描述
我正在尝试构建一个库并将其链接到一个应用程序。库构建很好,但链接到应用程序会引发以下错误:
clipper.lib(clipper.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
clipper.lib(clipper.obj):错误 LNK2001:无法解析的外部符号 __GSHandlerCheck_EH4
原因
根据this和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 构建的最简单/最快的方法是什么?
解决方案
正如@Tsyvarev 评论的那样,错误通过替换得到解决
cmake ..
和:
cmake -G "Visual Studio 15 2017 Win64" ..
推荐阅读
- c++ - Visual Studio Code C++ 上的不准确错误
- r - 用 Rccp 重写循环
- three.js - Three.js : 加载对象与 OBJLoader 的碰撞
- reactjs - Firebase 和 React 托管 - 不加载 App.js
- python - 从 tensorflow 对象检测 api 打印类名
- python - MySQL 与 python (pyTelegramBotAPI)
- java - Hibernate 和 Eclipse 编辑器
- java - 如何使用 mockito 模拟 @Value 字段
- javascript - Javascript - 浮点数的切换范围
- java - 获取 FTP 服务器上的文件