2013-04-23 72 views
0

行,我有安装的OpenSSL 1.0.1e,我想编译关于AES公司的计划,这样 http://saju.net.in/code/misc/openssl_aes.c.txt找不到的OpenSSL/evp.h当我编译openssl_aes.c用gcc

文档提示我应该输入到编译器

的gcc -Wall openssl_aes.c -lcrypto

howerver有一个错误:

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

那么,应该怎么办?

+0

你应该找到的OpenSSL/evp.h与放的OpenSSL的父目录中包含路径 – user93353 2013-04-23 05:08:11

+0

使用-I标志来指定包括路径的OpenSSL/evp.h。 – doptimusprime 2013-04-23 06:58:06

+0

@dbasic hank你〜我已经解决了这个问题。 – aprilgentle 2013-04-25 02:20:06

回答

0

你需要找到的OpenSSL/evp.h到您的程序。所有的头文件都被复制到你在Makefile中提到的文件夹中。

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

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

gcc -Wall -Ipath_to_openssl_headerfiles openssl_aes.c -lcrypt. 
+0

如果我这样做,还有另一个错误。
openssl_aes.c:51:22:错误:'AES_BLOCK_SIZE'未声明(首次在此函数中使用) – aprilgentle 2013-04-23 10:13:03

+0

因此,我认为我是否配置正确。因为我也无法编译文档中的示例:[Des with openssl ](http://blog.fpmurphy.com/2010/04/openssl-des-api.html?output=pdf) – aprilgentle 2013-04-23 10:15:26

+0

对于AES_BLOCK_SIZE,在适当的文件中包含它的定义。 – doptimusprime 2013-04-23 11:07:25