Как построить 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
ответ
Я помню, что столкнулся с тем же созданием ошибок 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.
Надеюсь, что это поможет!
Я написал примечание к 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
[Ошибка] (https://gist.github.com/KennyDalglish/ca6bfd9b4844f27fb7de) – continue
Я только что создал OpenSSL 1.0.2f с VS2013 без каких-либо ошибок. Убедитесь, что вы используете свежий исходный код OpenSSL, не пользуйтесь повторным использованием. – Tuan
! [Я использую последнюю версию OpenSSL:] (http://i.imgur.com/bEMoWgE.png). (\t OpenSSL 1.0.2g) – continue
Возьмите этот ответ обновляется для визуального студии 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
Обновление для 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.*
)
- 1. linking openssl to visual studio 2013 LNK2019
- 2. TFS 2013 Build - Newtonsoft.Json - Visual Studio 2015
- 3. Microsoft Visual Studio 2013 build target
- 4. Visual Studio 2013 - Rename Build Output
- 5. Visual Studio 2013 Build Post-Build Powershell Script
- 6. Проблемы с Linker с OpenSSL в Visual Studio 2013
- 7. Visual Studio Build Error
- 8. Visual Studio 2015 OpenSSL
- 9. Compile OpenSSL в Visual Studio
- 10. Ошибка в Gated Check In Build Definition Visual Studio 2013
- 11. Visual Studio, MS Build
- 12. Visual studio release build
- 13. Макросы события post-build Visual Studio 2013 пустые
- 14. Visual Build Server Studio 2010 с VS 2013 Solution
- 15. Visual Studio 2013 post build event показывает всегда explorer
- 16. Visual Studio 2013 C# Build Output to File
- 17. Visual Studio 2013 Cordova App Build Error - Freezes
- 18. TFS 2013 Build force MSBuild для использования Visual Studio 2015
- 19. TFS Build 2013 - с использованием Visual Studio 2015
- 20. Build boost на visual studio 2013 XP toolset
- 21. Visual Studio build C++ program
- 22. Комментарии/Visual Studio 2013
- 23. CUDA + Visual Studio 2013
- 24. Visual Studio Express 2013
- 25. visual studio 2013 professional
- 26. SFTP visual Studio 2013
- 27. Visual Studio 2013 Отображение вывода
- 28. visual studio 2013 options
- 29. Threading visual studio 2013
- 30. Visual Studio 2013 закрывает
нет, это не помогло: 'Сборка: 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
Я думаю, что по умолчанию OpenSSL будет компилировать встроенные модули в отдельные разделяемые библиотеки . Если вы укажете опцию «enable-static-engine» в командной строке, чтобы настроить сборку общей библиотеки (ms \ ntdll.mak), вместо этого скопируйте эти движки в libeay32.dll. так что вы можете попробовать без него! – Vtik