【问题标题】:can't find openssl/evp.h when I compile openssl_aes.c with gcc当我用 gcc 编译 openssl_aes.c 时找不到 openssl/evp.h
【发布时间】:2013-04-16 04:39:36
【问题描述】:

好的,我已经安装了 openssl-1.0.1e,我想编译一个关于 AES 的程序,像这样 http://saju.net.in/code/misc/openssl_aes.c.txt

文档提示我应该向编译器输入什么

gcc -Wall openssl_aes.c -lcrypto

但是有一个错误:

openssl_aes.c:13:25: *致命错误:openssl/evp.h: 没有这样的文件或目录 编译终止。*

那我该怎么办?

【问题讨论】:

  • 你应该找到openssl/evp.h并将openssl的父目录放在包含路径中
  • 使用 -I 标志指定 openssl/evp.h 的包含路径。
  • @dbasic hank you~我已经解决了这个问题。

标签: openssl


【解决方案1】:

您需要将 openssl/evp.h 定位到您的程序中。所有头文件都复制到您在 Makefile 中提到的文件夹中。

您的程序必须使用该路径。

使用 -I 选项指定包含路径。

 gcc -Wall -Ipath_to_openssl_headerfiles openssl_aes.c -lcrypt.

【讨论】:

  • 如果我这样做,还有另一个错误。
    openssl_aes.c:51:22: error: ‘AES_BLOCK_SIZE’ undeclared(首次在此函数中使用)
  • 所以,我想我是否配置正确。因为我也无法编译文档中的示例:Des with openssl
  • 对于 AES_BLOCK_SIZE,在定义的地方包含适当的文件。
  • 好的,我已经解决了这个问题。对于Ubuntu,安装libssl-dev。然后我可以使用-lcrypto。
猜你喜欢
  • 2016-10-02
  • 2017-04-09
  • 2017-03-16
  • 1970-01-01
  • 2014-06-04
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多