2016-03-20 5 views
0

Как построить OpenSSL в Visual Studio 2013? Я стараюсь компилировать в this lesson, но есть ошибка: Assembling: tmp32\x86_64cpuid.asm tmp32\x86_64cpuid.asm(1) : error A2088:END directive required at end of file NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\ Я скомпилировал под x64. В чем может быть проблема? Заранее спасибо.Build OpenSSL в Visual Studio 2013

ответ

1

Я помню, что столкнулся с тем же созданием ошибок OpenSSL 1.0.2d, что и статическая библиотека. Решение, которое работало для меня заключается в следующем:

В окне новой командной строки построить OpenSSL и установить его в C: \ сборки \ Bin \ OpenSSL-1.0.2d-x64 каталог:

cd C:\build\src\openssl-1.0.2d-x64 
set PATH=%PATH%;C:\nasm 
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64 
perl Configure VC-WIN64A --prefix=C:\build\bin\openssl-1.0.2d-x64 enable-static-engine 
ms\do_win64a 
nmake /f ms\nt.mak 
nmake /f ms\nt.mak test 
nmake /f ms\nt.mak install 

Результирующий build находится в каталоге C: \ build \ bin \ openssl-1.0.2d-x64.

Надеюсь, что это поможет!

+1

нет, это не помогло: 'Сборка: tmp32 \ x86_64cpuid.asm tmp32 \ x86_64cpuid.asm (1) : ошибка A2088: END директива требуется в конце файла NMAKE: фатальная ошибка U1077: «C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ BIN \ amd64 \ ml64.EXE": возвращенный код "0x1" Stop.' – continue

+0

Я думаю, что по умолчанию OpenSSL будет компилировать встроенные модули в отдельные разделяемые библиотеки . Если вы укажете опцию «enable-static-engine» в командной строке, чтобы настроить сборку общей библиотеки (ms \ ntdll.mak), вместо этого скопируйте эти движки в libeay32.dll. так что вы можете попробовать без него! – Vtik

3

Я написал примечание к build OpenSSL here (Unix и Windows).

Убедитесь, что вы используете исходный источник OpenSSL (не используйте повторно скомпилированный исходный код).

Откройте Visual Studio x64 Win64 командной строки (2010) (в меню Пуск)

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"" amd64 

perl Configure VC-WIN64A --prefix=C:\openssl_x64 no-asm no-shared enable-tlsext enable-static-engine 

ms\do_win64a 

nmake -f ms\ntdll.mak 

nmake -f ms\ntdll.mak install 
+0

[Ошибка] (https://gist.github.com/KennyDalglish/ca6bfd9b4844f27fb7de) – continue

+0

Я только что создал OpenSSL 1.0.2f с VS2013 без каких-либо ошибок. Убедитесь, что вы используете свежий исходный код OpenSSL, не пользуйтесь повторным использованием. – Tuan

+0

! [Я использую последнюю версию OpenSSL:] (http://i.imgur.com/bEMoWgE.png). (\t OpenSSL 1.0.2g) – continue

1

Возьмите этот ответ обновляется для визуального студии 2015

1 - Убедитесь в том, чтобы использовать 1.0.2h Источник openssl.

2 - Убедитесь, что вы установили (старый) nasm (НЕ ПОСЛЕДНИЙ): используйте версию 2.11 [1]: http://www.nasm.us/pub/nasm/releasebuilds/2.11/ с 2013 года и поставьте ее на свой путь.

3 - Откройте любую обычную командную строку (cmd) - администратор предпочтителен - и выполните эти команды в корневом каталоге загруженного источника.

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"" amd64 

perl Configure VC-WIN64A --prefix=C:\openssl_x64 no-asm no-shared enable-tlsext enable-static-engine 

ms\do_win64a 

nmake -f ms\ntdll.mak 

nmake -f ms\ntdll.mak install 
0

Обновление для Visual Studio 2017:

1) Я использовал 1.0.2h openssl источник. Я не пробовал другие версии.

2) Установлен perl и в вашем PATH.

3) Установите NASM и добавьте его в ваш PATH (например, в C: \ NASM и/или отредактируйте установку PATH ниже). Последняя версия (2.13.1) отлично работала для меня.

4) Проверьте и, при необходимости, отредактируйте путь к vcvarsall.bat, который используется ниже.

5) (необязательно) Отредактируйте папку установки в приведенной ниже команде (установите через --prefix).

6) Откройте командную строку в корневой директории скачанного источника (редактирование и) выполнить следующие команды:

set PATH=%PATH%;C:\nasm 

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"" amd64 

perl Configure VC-WIN64A --prefix=C:\openssl_x64 no-asm no-shared enable-tlsext enable-static-engine 

ms\do_win64a 

nmake -f ms\ntdll.mak 

nmake -f ms\ntdll.mak install 

7) (Необязательно) В случае, у вас есть несколько версий VS установлен, могли бы хотеть, чтобы проверить, что правильная версия nmake была выполнена (14.10.* и не, например, 14.0* или 12.*)