致命错误:读取“C:\ OpenSSL-Win32 \ lib \ libeay32.lib”时出错:意外的文件结束

时间:2015-02-22 11:13:44

标签: c++ c linker

我想在991sam7微臂上实现加密算法。所以我从简单的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;
}

1 个答案:

答案 0 :(得分:1)

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