在Windows上编译OpenSSL

时间:2009-09-16 20:59:14

标签: windows visual-c++ compilation openssl

引用构建OpenSSL的说明:

  

然后从VC ++环境中获取   提示:

     
    

nmake -f ms \ ntdll.mak

  

当我这样做时,我得到了

     cl /Fotmp32\cryptlib.obj  -Iinc32 -Itmp32 /MT /Ox /O2 /Ob2 /W3 /WX /Gs0
/GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_W
IN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE /Fdout32 -DOPENSSL_N
O_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_CMS
 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_
ENGINE /Zl -c .\crypto\cryptlib.c
cryptlib.c
tmp32\e_os.h(438) : fatal error C1083: Cannot open include file: 'unistd.h': No
such file or directory
NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\cl.EXE"' : return code '0x2'
Stop.

看起来我缺少一些指向unistd.h的环境变量的设置。不知道它是什么。

2 个答案:

答案 0 :(得分:2)

在同一目录中以C:\Program Files\Microsoft Visual Studio 9.0\VC\Include\io.h名称复制unistd.h,然后重试构建。

答案 1 :(得分:0)

查看安装了Visual Studio的Common7 / Tools子目录(对于典型安装C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ Tools),查找名为vsvars32.bat的批处理文件。打开命令提示符时,请运行此批处理文件。它将定义指向各种安装目录的环境变量,包括安装各种标准头文件的位置。