openssl - VS 2017 未解析的外部符号 __imp__stricmp (libcrypto_static.lib)
问题描述
我正在静态链接 OpenSSL 库(在 Windows 上),但我有大约 30 个链接器错误,类似于这个:
libcrypto_static.lib(o_names.obj) : error LNK2001: unresolved external symbol __imp__stricmp
按照建议,我使用了以下指令:
pragma comment(lib, "crypt32")
pragma comment(lib, "ws2_32.lib")
还有链接器设置:
Ignore Specific Default Libraries: libcmt.lib; msvcrt.lib;msvcrtd.lib
如果我从上面删除 msvcrtd.lib,我可以编译。但这是不正确的,因为 msvcrtd.lib 用于动态链接,我想静态链接。编译器应该会在 libcmtd.lib(调试版本)中找到缺失的定义。编译使用 /MT 标志来使用静态链接。
我错过了什么?在我看来,OpenSSL 静态加密库仍然需要 MS 运行时动态 DLL。
解决方案
推荐阅读
- angular - Angular 8 打印 HTML
- python - 从conda环境导入时pycharm中的火炬错误
- mysql - 需要提高 SQL 查询的性能
- javascript - Bootstrap 4.2 - 模态 - 输入字段不可编辑,按钮不可点击,不可关闭
- python - Connection.commit() 不会在 Django 测试中保留数据
- python - 使用计算机视觉识别图像中平面对象的最佳方法是什么?
- reactjs - 具有基于 I18n 的阿拉伯语标题的 react-native createMaterialTopTabNavigator 不起作用
- ios - 从手机照片库 swift 5 中获取 1000 张图像的最佳方法
- java - 如何模拟 org.springframework.core.io.Resource 对象?
- c++ - 将变量定义为静态时,为什么可以定义多次?