0

我已经在 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已经解决了这个问题。它不断抛出相同的错误....我可以尝试什么?

4

2 回答 2

2

头文件在吗?如果没有,OpenSSL 头文件位于名为openssl-devel.

于 2013-10-15T15:41:28.143 回答
1

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

  1. 清除 Cygwin 64 并从头开始使用 32 位版本
  2. 从 openssl.org 安装最新的 Openssl
  3. 编译。没有更多的问题!
于 2013-10-15T19:30:30.803 回答