c++ - fatal error : error when reading "C:\OpenSSL-Win32\lib\libeay32.lib": unexpected end-of-file

标签 c++ c linker

我想在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/

相关文章:

c++ - 符号不同 [-Wpointer-sign] 在 Eclipse 中禁用此检查

c - 关系数据库和查询

c++ - 链接到 visual studio 2013 boost

c++ - 从源代码静态链接 GLEW 与 cmake

c++ - 使用 GDB 调试 .out 对象,使用 cmake 编译

c++ - SFINAE 的问题

c - 如何将 char* 转换为字符串?

将 "for"循环转换为 "while"循环

Linux X-Loader 起始地址位于 config.mk 中而不是链接描述文件中

c++ - 链接OpenCV库时出错