Cygwin编译器头包含错误(OpenSSL)

时间:2013-10-15 13:57:46

标签: header openssl makefile cygwin

我在Windows 8下安装了Cygwin来编译一个小型C项目。虽然OpenSSL包已包含在Cygwin的安装中,但在编译项目时(使用Cygwin终端中的命令 make -f makefile )我收到错误:

make -s -C lib -f local.mk
CC auth.c
In file included from auth.h:9:0,
                 from auth.c:18:
session.h:11:24: fatal error: openssl/dh.h: No such file or directory
 #include <openssl/dh.h>
                        ^
compilation terminated.
local.mk:35: recipe for target 'auth.lo' failed
make[1]: *** [auth.lo] Error 1
makefile:79: recipe for target 'lib' failed
make: *** [lib] Error 2

查看Cygwin的文件夹,Openssl标题位于

/cygwin64/usr/i686-pc-cygwin/sys-root/usr/include/openssl

既没有处理 / cygwin64 / usr / include 中的 openssl 文件夹,也没有添加指令

C_INCLUDE_PATH=/cygwin64/usr/i686-pc-cygwin/sys-root/usr/include/openssl

进入makefile已经解决了问题。它不断抛出同样的错误......我能尝试什么?

2 个答案:

答案 0 :(得分:2)

头文件是否存在?如果没有,则OpenSSL头文件位于名为openssl-devel的包中。

答案 1 :(得分:1)

好的,我已经解决了这个问题:

  1. 清除Cygwin 64并从头开始使用32位版本
  2. 从openssl.org安装最新的Openssl
  3. 汇编。没有更多问题!