C++ Can';t修复未解析的外部符号_AES_加密,即使使用lib文件
我需要使用openssl库进行加密 我读了这篇文章:C++ Can';t修复未解析的外部符号_AES_加密,即使使用lib文件,c++,c,visual-studio-2012,openssl,C++,C,Visual Studio 2012,Openssl,我需要使用openssl库进行加密 我读了这篇文章: 我所做的: 已从下载用于VS2012的预编译OpenSSL库 将此地址添加到: 常规>其他包含目录:openssl-1.1.0h\openssl-1.1.0f-vs2012\Include 链接器>其他包含目录:openssl-1.1.0h\openssl-1.1.0f-vs2012\lib 我使用了openssl的默认示例,但出现以下错误: 1> AES_Encryption 2.obj:错误LNK2001:未解析的外部符号 _A
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string>
#include <openssl/aes.h>
void main()
{
unsigned char inbuffer[1024];
unsigned char encryptedbuffer[1024];
unsigned char outbuffer[1024];
unsigned char oneKey[] = "abc";
AES_KEY key;
AES_set_encrypt_key(oneKey,128,&key); /// error LNK2001: unresolved external symbol _AES_set_encrypt_key
getchar();
}
#包括
#包括
#包括
#包括
#包括
void main()
{
缓冲区中的无符号字符[1024];
无符号字符加密缓冲区[1024];
无符号字符溢出器[1024];
无符号字符oneKey[]=“abc”;
AES_密钥;
AES_set_encrypt_key(oneKey,128,&key);///错误LNK2001:未解析的外部符号_AES_set_encrypt_key
getchar();
}
您的c文件编译得很好,但它没有正确链接,因为您没有指示链接器链接必要的.lib文件
您需要将#pragma comment(lib,“libssl.lib”)
或类似内容(不确定actuel.lib文件的名称)放入源文件。您的c文件编译良好,但链接不正确,因为您没有指示链接器链接必要的.lib文件
您需要将
#pragma注释(lib,“libssl.lib”)
或类似内容(不确定actuel.lib文件的名称)放入源文件。发布您的代码。链接到一个重复的问题,而不解释是什么使你的情况不同,这不会让你得到答案,只会让你的问题以重复的形式结束。@andrenle代码很简单,我在链接openssl时遇到问题,代码补充道。你需要放入#pragma comment(lib,“libssl.lib”)
或类似的东西(不确定actuel.lib文件的名称)添加到源文件中。@MichaelWalz谢谢您,先生,我添加了#pragma注释(lib,“libcryptoMD.lib”)#pragma注释(lib,“libcryptoMD.lib”)#pragma注释(lib,“libcryptoMTd.lib”)#pragma注释(lib,“libsslMD.lib”)#pragma注释(lib,“libsslMDd.lib”)#pragma注释(lib,“libsslMT.lib”)#pragma注释(lib,“libsslMTd.lib”)
现在可以使用了。如果你能把它写在一个新的答案上,我会标记它。发布你的代码。链接到一个重复的问题,而不解释是什么让你的情况不同,这不会给你一个答案,只会让你的问题以重复的形式结束。@AndrewHenle代码很简单,我链接有问题openssl,添加了代码。您需要在源文件中添加#pragma comment(lib,“libssl.lib”)
或类似内容(不确定actuel.lib文件的名称)。@MichaelWalz谢谢您,先生,我添加了#pragma comment(lib,“libcryptoMD.lib”)#pragma comment(lib,“libcryptoMDd.lib”)#pragma comment(lib,“libcryptoMT”)#pragma comment(lib,“libcryptoMTd.lib”)#pragma comment(lib,“libsslMD.lib”)#pragma comment(lib,“libsslMDd.lib”)#pragma comment(lib,“libsslMTd.lib”)
正在运行。如果您能将其写入新的答案,我会标记它。