Почему после Perl нет ms\do_ms.bat Configure VC-WIN64A?
Я компилирую OpenSSL с Visual Studio 2015. Я установил:
Visual Studio 2015 в Windows 10.
ActivePerl-5.24.0.2400-MSWin32-x64-300558.
NASM-2.11.08-win32.
Исходный код OpenSSL от git clone git://git.openssl.org/openssl.git
Что я сделал:
Создайте командный файл со строками ниже.
@call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
@set path=%path%;C:\Users\gchen\AppData\Local\nasm
perl Configure VC-WIN64A —prefix=C:\test\openssl
Теперь я должен сделать ms\do_win64a
, но я не могу найти этот командный файл. В каталоге ms
есть файлы
2016/08/22 17:39 <DIR> .
2016/08/22 17:39 <DIR> ..
2016/08/21 14:23 3,646 applink.c
2016/08/21 14:23 1,247 cmp.pl
2016/08/21 14:23 2,815 segrenam.pl
2016/08/21 14:23 4,541 tlhelp32.h
2016/08/21 14:23 1,137 uplink-common.pl
2016/08/21 14:23 1,472 uplink-ia64.pl
2016/08/21 14:23 1,111 uplink-x86.pl
2016/08/21 14:23 1,594 uplink-x86_64.pl
2016/08/21 14:23 4,225 uplink.c
2016/08/21 14:23 2,268 uplink.h
но нет ms-win64a.bat.
Что я сделал не так?
Ответы
Ответ 1
Процесс сборки изменился с новой версией 1.1.0. Возможно, вы уже разобрались, но все равно:
Начиная с версии 1.1.0 больше нет файлов ms\do_*.bat
.
Вместо этого выполните следующие шаги:
x32 компиляция в Windows:
perl Configure VC-WIN32
nmake
nmake test
x64A компиляция в Windows:
perl Configure VC-WIN64A
nmake
nmake test
Настройте среду компилятора как прежде, и укажите свой путь к Perl (и NASM, если он используется).
Источник: файл INSTALL
, включенный в версию 1.1.0.
Ответ 2
С момента выпуска новой версии 1.1.0 в исходном коде отсутствует ms\
. И если вам интересно, что вы должны изменить для создания статической версии в настоящее время (что приводит к одному файлу .exe без каких-либо DLL). Вот полный справочник.
Вам понадобятся следующие предварительные условия:
Ожидается, что вы установите все эти инструменты в системном масштабе и добавьте их в свою переменную окружения %PATH%
.
После того, как вы получили все, что нам нужно, просто выполните следующие простые шаги:
- Откройте командную строку VS2015 x64 из командной строки в меню "Пуск". Появится командная строка.
-
Создайте каталог C:\build
и введите следующую команду в командной строке:
-
Загрузите исходные коды zlib и OpenSSL в каталог build
с помощью следующих команд:
-
git clone https://github.com/madler/zlib
-
git clone https://github.com/openssl/openssl
-
Сначала мы должны создать статический zlib
. Для этого нам нужно будет отредактировать некоторые файлы конфигурации:
-
Постройте zlib
, используя следующую команду (требуется меньше минуты):
-
nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
-
Скопируйте полученные файлы в каталог OpenSSL
:
-
xcopy zlib.h C:\build\openssl\
-
xcopy zconf.h C:\build\openssl\
-
xcopy zlib.lib C:\build\openssl\
-
xcopy zlib.pdb C:\build\openssl\
-
Перейдите в OpenSSL
source: cd C:\build\openssl\
и настройте его, чтобы использовать static zlib и читать файлы конфигурации (openssl.cnf
) из каталога C:\Windows\
.
-
perl Configure VC-WIN64A no-shared zlib no-zlib-dynamic threads --prefix=C:\Windows\
-
Теперь сделайте следующие изменения для C:\build\openssl\makefile
:
- Найдите строку, которая начинается с:
CFLAG
- Добавить:
/Zc:wchar_t- /GL /Zi
- Найдите строку, которая начинается с:
LDFLAGS
- Замените
/debug
на /incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt
- Найдите строку, которая начинается с:
EX_LIBS
- Замените
ZLIB1
на zlib.lib
- Сохранить изменения
-
Постройте OpenSSL
, выпустив команду nmake
(займет около 15 минут).
Результирующий файл ~ 3MB openssl.exe
будет расположен в каталоге C:\build\openssl\apps\
. Он полностью переносится, поскольку все библиотеки DLL включены. Если вам нужен пользовательский файл конфигурации, скопируйте C:\build\openssl\apps\openssl.cnf
в каталог C:\Windows\
и отредактируйте его по своему вкусу.
Ответ 3
Следующие команды должны быть выполнены с правами администратора
- perl Configure VC- WIN64A --prefix = C:\Build-OpenSSL-VC32-Debug-DLL
- nmake -f makefile
- nmake install
Начиная с версии 1.1.0, больше не требуется запускать файлы ms\do _ *. Bat.