c++ - 未解析的外部符号 OpenSSL 库 C++

标签 c++ visual-c++ openssl

<分区>

我正在尝试使用 Visual Studio 2013 C++ 编译我的程序,

在编译之前我没有错误。

error LNK2001: unresolved external symbol _EVP_DecryptUpdate
error LNK2001: unresolved external symbol _EVP_DecryptInit
error LNK2001: unresolved external symbol _EVP_DecryptFinal
error LNK2001: unresolved external symbol _EVP_CIPHER_CTX_new
error LNK2001: unresolved external symbol _EVP_CIPHER_CTX_init
error LNK2001: unresolved external symbol _EVP_CIPHER_CTX_free
error LNK2001: unresolved external symbol _EVP_CIPHER_CTX_cleanup
error LNK2001: unresolved external symbol _EVP_aes_128_cbc

我正在使用现有的 OpenSSL 库。我已成功将它们链接到 openssl 文件夹。

如何解决这个问题?

最佳答案

取自:using OpenSSL in Visual Studio 2012

更新

这个问题也帮助我找到了解决方案。使用 Visual Studio 2010 和 OpenSSL 提升 SSL

在 VS2012 中使用 openSSL 库所需的步骤:

  • 下载并安装一个版本(我有 64 位操作系统,但是我安装了 32 位 openssl)来自 http://slproweb.com/products/Win32OpenSSL.html .
  • 在 VS 中新建项目,然后配置 属性/C/C++/常规/附加包含目录:openssl 包含文件夹 (C:\OpenSSL-Win32\include)
  • Linker/General/Additional Library 目录:C:\OpenSSL-Win32\lib
  • 链接器/输入/附加依赖项:
  • libeay32.lib libeay32MTd.lib libeay32MT.lib libeay32MDd.lib libeay32MD.lib ssleay32.lib ssleay32MTd.lib ssleay32MT.lib ssleay32MDd.lib ssleay32MD.lib

(据说我只需要添加与 C/C++/代码生成/运行时库匹配的那个,但它是这样工作的。)

将这些文件复制到当前VS文件夹/VC/lib

这对我有帮助

关于c++ - 未解析的外部符号 OpenSSL 库 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31646663/

相关文章:

C++ - "Stack automatic"是什么意思?

c++ - 有什么方法可以不使用 ldexp 来创建 float 吗?

visual-c++ - CMakeLists.txt 中的 CMake Warning (dev) : No cmake_minimum_required command is present. 一行代码如 cmake_minimum_required(VERSION 3.9)

ios - 为 Xcode 安装 OpenSSL 库

c++ - 获取 OpenCV Mat 中唯一像素值的列表

c++ - 在 Visual C++ 中使用 Git 进行自动版本控制

使用 VC++ 的 Postgresql 连接器

启用 SSL/TLS - openssl

c# - 创建新的 HttpClient 时无法加载 DLL 'System.Security.Cryptography.Native.OpenSsl'

c++ - 双向链表C++删除元素