OpenSSL库中未解析的外部符号

visual Unresolved external Symbol OpenSSL Libraries C++

本文关键字:外部 符号 OpenSSL      更新时间:2023-10-16

我正在尝试用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文件夹。

如何解决这个问题?

摘自:在Visual Studio 2012中使用OpenSSL

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

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

  • 下载并安装一个版本(我有64位操作系统,但是我安装了32位openssl) from http://slproweb.com/products/Win32OpenSSL.html.
  • 在VS中新建项目,然后是ConfigurationProperties/C/c++/General/Additional Include目录包含文件夹(C:OpenSSL-Win32include)
  • 链接器/通用/附加库目录:C:OpenSSL-Win32lib
  • 链接器/输入/附加依赖项:
  • libeay32。自由libeay32MTd。自由libeay32MT。自由libeay32MDd.liblibeay32MD。自由ssleay32。自由ssleay32MTd。自由ssleay32MT.libssleay32MDd。自由ssleay32MD.lib

(这是写的,我只需要添加一个匹配的C/c++/代码生成/运行时库,但它的工作方式我。)

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

这是帮助我的