我想在arm at91sam7 micro上实现加密算法。所以我从简单的 sha-1 openssl 哈希函数开始。我可以使用 code::block 软件编译 sha-1 的示例代码并获得真实的输出。但是当我想在我的微 Controller 中使用这段代码时,我必须使用arm编译器(尤其是IAR Workbench)来编译和构建它。我可以真正在 IAR 中编译代码,但是当我想构建它时,我没有给出任何定义错误。所以我将 C:\OpenSSL-Win32\lib\libeay32.lib 添加到链接器附加库,但我给出了此链接器错误: ' fatal error :读取“C:\OpenSSL-Win32\lib\libeay32.lib”时出错:意外的文件结尾'。 大家都可以帮助我吗?感谢您的帮助。
我的示例代码是:
#include <stdio.h>
#include <stdlib.h>
#include <openssl/evp.h>
int main (){
EVP_MD_CTX sha1ctx;
unsigned char sha1val[EVP_MAX_MD_SIZE];
unsigned int i, sha1len;
char buf[2]="80";
int numIn;
EVP_DigestInit(&sha1ctx, EVP_sha1());
numIn=2;
EVP_DigestUpdate(&sha1ctx, buf, numIn);
EVP_DigestFinal(&sha1ctx, sha1val, &sha1len);
printf("SHA1: ");
for(i=0; i<sha1len; i++)
printf("%02x", sha1val[i]);
printf("\n");
EVP_MD_CTX_cleanup(&sha1ctx);
return 0;
}
最佳答案
库C:\OpenSSL-Win32\lib\libeay32.lib
可能适用于错误的体系结构。您正在针对嵌入式系统目标 (at91sam7
) 进行交叉编译,请使用该目标的库。
关于c++ - fatal error : error when reading "C:\OpenSSL-Win32\lib\libeay32.lib": unexpected end-of-file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28657161/