Вопрос

Цитирую инструкции по сборке 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.Когда вы откроете командную строку, запустите этот пакетный файл.Он определит переменные среды, указывающие на различные каталоги установки, в том числе на то, где установлены различные стандартные заголовочные файлы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top