我正在尝试使用Cygwin下的NetBurner NNDK 2.6.2构建openssl 1.0.1g。我知道这不支持开箱即用,所以我将此行添加到Configure(选项是openssl基本“gcc”配置选项和NNDK选项的混合 - 不确定这是否有效):
"NetBurner", "m68k-elf-gcc:-v -Wall -Os::(unknown):::BN_LLONG::: -falign-functions=4 -Wno-write-strings -c -fmessage-length=0",
我运行了配置:
Configure NetBurner no-asm no-shared no-threads no-zlib
配置输出未提及任何错误,并以“为NetBurner配置”结束。然后我运行make,它无法构建加密。标题搜索路径(为简洁起见,NNDK包括省略):
#include "..." search starts here:
#include <...> search starts here:
.
..
../include
这是许多编译器错误中的第一个:
In file included from cryptlib.h:65,
from cryptlib.c:117:
../e_os.h:62:33: error: openssl/opensslconf.h: No such file or directory
../e_os.h:64:27: error: openssl/e_os2.h: No such file or directory
我没有更改目录结构或从tarball中移动文件。 openssl-1.0.1g目录包含e_os.h(我正在运行make from),openssl-1.0.1g / include / openssl包含一个链接:
lrwxrwxrwx 1 opensslconf.h -> ../../crypto/opensslconf.h
在这两个级别之后进入crypto目录,opensslconf.h存在。我已尝试手动向GCC添加-I
包含路径,但没有运气。
答案 0 :(得分:2)
这是一个Cygwin问题。我的CYGWIN
环境变量设置为winsymlinks
,根据文档创建符号链接的Windows快捷方式文件,而不是本机Windows符号链接:
winsymlinks:{lnk,native,nativestrict} - 如果设置为winsymlinks或 winsymlinks:lnk,Cygwin创建符号链接作为Windows快捷方式 特殊标题和R / O属性集。
如果设置为winsymlinks:native或winsymlinks:nativestrict,Cygwin 在文件系统和操作系统上创建符号链接作为本机Windows符号链接 支持他们的版本。如果已知操作系统不支持本机操作系统 符号链接(Windows XP,Windows Server 2003),警告信息是 每次会议产生一次。
我将CYGWIN
环境变量更改为winsymlinks:native
,重新启动Cygwin,然后第二次解压缩tarball。现在,Cygwin符号链接是实际的Windows符号链接,预处理器找到了这些文件。