为什么openssl/ssl.h只包含相对路径?

Nat*_*man 5 c openssl visual-studio-2013

我通过执行以下操作使用MSVC++ 2013 Express编译器构建了OpenSSL:

  • 这里安装ActivePerl 5.16.3 .
  • 抓住openssl-1.0.1e.tar.gz并将其压缩到C:\OpenSSL\Win64.
  • 打开"VS2013 x64交叉工具命令提示符"并cd转到我解压缩归档的目录.
  • 运行以下命令:

    perl Configure VC-WIN64A
    ms\do_win64a
    nmake -f ms\ntdll.mak

这完成没有错误(构建适当的DLL).然而,发生了一些非常奇怪的事情.如果我打开openssl/ssl.h,文件的内容是:

../../ssl/ssl.h
Run Code Online (Sandbox Code Playgroud)

由于这显然不是有效的C/C++,我无法编译任何依赖于OpenSSL头的应用程序,因为上面的问题.我做错了什么?

Nat*_*man 2

duskwuff评论确实是正确的。问题在于 7-Zip 无法正确提取存档中的符号链接。解决方案是下载GnuWin32 的tar命令行实用程序并使用它来提取存档:

tar -xvf openssl-1.0.1e.tar.gz