Компиляция OpenSSL в Windows
-
07-07-2019 - |
Вопрос
Цитирую инструкции по сборке OpenSSL:
Затем из среды VC ++ в командной строке выполните:
nmake -f ms tdll.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.
Похоже, мне не хватает настройки какой-то переменной окружения, которая будет указывать на where unistd.h.Хотя и не уверен, что это такое.
Решение
Скопируйте C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ Include \ io.h
под именем unistd.h
в тот же каталог и повторите сборку. . р>
Другие советы
Поищите в подкаталоге Common7/Tools, где установлена Visual Studio (для обычной установки C:\Program Files\Microsoft Visual Studio 9.0\Common7 ools) командный файл с именем vsvars32.bat.Когда вы откроете командную строку, запустите этот пакетный файл.Он определит переменные среды, указывающие на различные каталоги установки, в том числе на то, где установлены различные стандартные заголовочные файлы.