【问题标题】:Fatal Error: error when reading "C:\OpenSSL-Win32\lib\libeay32.lib": unexpected end-of-file致命错误:读取“C:\OpenSSL-Win32\lib\libeay32.lib”时出错:意外的文件结束
【发布时间】:2015-02-22 11:13:43
【问题描述】:

我想为 arm at91sam7 micro 实现加密算法。所以我从简单的 sha-1 openssl 哈希函数开始。我可以用 code::block 软件编译这个 sha-1 的示例代码并得到真实的输出。但是当我想在我的 micro 中使用这个代码时,我必须用 arm 编译器编译和构建它(例如 IAR Workbench 特别是)。我可以真正编译 IAR 中的代码,但是当我想构建它时,我没有给出定义错误。所以我将 C:\OpenSSL-Win32\lib\libeay32.lib 添加到链接器附加库中,但我给出了这个链接器错误: '致命错误:读取“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++ c linker


    【解决方案1】:

    C:\OpenSSL-Win32\lib\libeay32.lib 可能适用于错误的架构。您正在为嵌入式系统目标 (at91sam7) 进行交叉编译,请使用该目标的库。

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 2019-08-23
      • 1970-01-01
      • 2014-01-15
      • 2013-03-21
      • 1970-01-01
      • 2020-08-21
      • 2012-02-10
      • 2016-02-09
      相关资源
      最近更新 更多