我需要使用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:未解析的外部符号 _AES_set_encrypt_key 1> AES_Encryption 2.obj:错误LNK2001:未解析的外部符号_AES_decrypt 1> AES_Encryption 2.obj:错误 LNK2001:未解析的外部符号_AES_encrypt 1> AES_Encryption 2.obj:错误LNK2001:未解析的外部符号_AES_set_decrypt_key
我做错了什么?
编辑:这是我的简单代码:
#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();
}
答案 0 :(得分:2)
您的c文件编译正常,但它没有链接,因为您没有指示链接器链接必要的.lib文件。
您需要将#pragma comment(lib, "libssl.lib")
或类似内容(不确定实际.lib文件的名称)放入源文件中。