LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错

LINK Error when trying to use OpenSSL evp aes 256 c++

我在尝试使用 OpenSSL 文档中的 evp aes 加密模板代码时遇到很多 LINK 错误:https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption

我尝试编译时出现此类错误:

libcrypto.lib(b_sock.obj) : error LNK2019: symbole externe non résolu __imp__ioctlsocket@12 référencé dans la fonction _BIO_socket_ioctl

libcrypto.lib(b_sock.obj) : error LNK2019: symbole externe non résolu __imp__getsockname@12 référencé dans la fonction _BIO_sock_info

我包含我的 lib 文件 (libcrypto.lib) 和所有头文件。 没有 evp 工作的其他代码。

我正在使用 Visual Studio 编译器 (C++ 17)

在 Clion 上进行开发

那些缺失的符号由 windows ws2_32 库提供。例如,在 the documentation page of the ioctlsocket function 的底部记录了这一点。要解析这些符号,您必须将 ws2_32.lib 添加为项目的依赖项。

您可能需要添加更多库,如 OpenSSL 说明中简要提到的那样 NOTES.WIN