Table of Contents
Czasami komputer stacjonarny może wyświetlić komunikat informujący, że może kompilować openssl win32. Może być wiele przyczyn tego problemu.
Zaktualizowano
Można go skompilować z kilkoma różnymi Visual Studio 2017/2019.
Importuj system operacyjnyimportuj ścieżkę oszadzwoń do wprowadzenia podprocesuImportuj ciszęSystem importuImportImportuj Argparse# Argumentyparser = argparse.ArgumentParser()parser.add_argument („- f”, „--filename”, help = „Pierwszy przypadek musi być plikiem tar.gz ze źródła OpenSSL”, wymagany = Prawda)parser.add_argument („-a”, „--arch”, help równa się „Drugim argumentem często powinien być x86, może amd64”, wymagany = Prawda)parser.add_argument („- v”, „--vs_version”, pomaga w = „Rejestracja programu Visual Studio (na przykład: 90, sto czterdzieści, 150)”, wymagane = True)parser.set_defaults (writeVersionInfos = False)args implikuje parser.parse_args ()compile_flags equals = "-no-asm"#compile_flags "-no-asm -no-shared"openssl_32_flag równa się „VC-WIN32”openssl_64_flag pasuje do „VC-WIN64A”Katalog roboczy = os.getcwd ()dirname oznacza args.filename.replace (.tar.gz "," ")src_32_suffix równa się „_” + „vs” + args.vs_version + „_32”src_64_suffix pasuje do „_” + „vs” + args.vs_version + „_64”vs_tools_env_var = "VS" + args.vs_version + "COMNTOOLS"jeśli args.arch! = "x86" i args.arch! równa się „amd64”: print ("Drugi przypadek musi zawsze być x86 lub amd64") Wylot (1)jeśli jesteś pewien, gdzie bool (re.match ("(openssl-) 1 ( d) + (.) ( d) + (.) ( d) + ( w) + (. tar.gz)" , argumenty. nazwa pliku)): print ("Ten początek nie wygląda podobnie do pliku zdań openssl. Musi być podany w każdej z naszych form: openssl-x.y.zw.tar.gz") Wylot (1)call ("7z c -y" + args.filename) # pobierz wszystkie pliki .gzdirname_src_32 jest równe + dirname src_32_suffixdirname_src_64 oznacza + dirname src_64_suffixdirname_bin_32 equals + dirname src_32_suffix + "_build"dirname_bin_64 = + dirname src_64_suffix + "_build"openssl_tar_file oznacza args.filename [0: -3]if args.arch == "x86":# usuń poprzednie katalogi Shutil.rmtree (os.getcwd () + '/' + nazwa katalogu, ignore_errors jest równe True) Shutil.rmtree (os.getcwd () + '/' + dirname_src_32, tar ignore_errors = True)# Wyodrębnij plik jako 32. get połącz z ("7z x -y cale + openssl_tar_file) os.rename (dirname, dirname_src_32)#Skompiluj 32 os.chdir (dirname_src_32) publikuj ("perl Configure" + openssl_32_flag + cale --prefix równa się "+ os.path.join (working_dir, dirname_bin_32) +" cale + compil_flags) call ("perl Configure" + openssl_32_flag + "+ --prefix =" os.path.join (working_dir, dirname_bin_32) + "" + compile_flags, shell = True) w ramach (os.path.exists ("ms / do_ms.bat")): zadzwoń ("ms do_ms.bat", wydaj = Prawda) drukuj (os.getcwd ()) wywołanie ("nmake -f organizacja / ntdll.mak", powłoka = True) wywołanie ("nmake -f firma / ntdll.mak install", powłoka = True) inne: wywołanie ("nmake", powłoka = Prawda) call ("nmake test", zakrywanie nasion = True) wywołanie ("nmake install", powłoka = True) Drukowanie („Wycofano system 32-bitowy”)# Powrót, który będzie katalogiem domowymos.chdir (pracownik_dyrektor)##################if args.arch == "amd64":# usuń ex - katalogi Shutil.rmtree (os.getcwd () + '/' + nazwa katalogu, ignore_errors = True) Shutil.rmtree (os.getcwd () + '/' + dirname_src_64, ignore_errors = True)#Wyciąg z których za kwotę 64 wywołanie („7z x -b” + openssl_tar_file) os.rename (dirname, dirname_src_64)Numer kompilacji 64 os.chdir (dirname_src_64) Zadzwoń ("perl Configure" + openssl_64_flag + "--prefix =" + os.path.join (working_dir, dirname_bin_64) + in. "+ Compile_flags, shell = True) kiedy (os.path.exists ("ms do_ms.bat")): call ("ms do_win64a.bat", powłoka równa się True) po prostu zadzwoń ("nmake -f ms / ntdll.mak", powłoka oznacza True) zdobądź ("nmake -f ms / ntdll.mak install", zakrywanie nasion = True) inne: wywołanie ("nmake", system = True) call ("nmake test", powłoka = True) skontaktuj się z nami ("nmake install", shell = True) magazyn („Ukończono 64-bitową kompilację”).# Wróć do oryginalnego kataloguos.chdir (pracownik_dyrektor)##################os.remove (openssl_tar_file)
ECHO ------------------------------------- ------ ---------ECHO wymaga Pythona, 7Zip, PERL i NASM PATHECHO ------------------------------------------------ - ---Boehm -------------------------------------------------- -----Rem DO PERSONALIZACJI --------------------------------------------Boehm -------------------------------------------------- -----Rem OKREŚL LOKALNE SPOSOBY -------------------------------------------------------ŚCIEŻKA INSTALACJI = C: Program Files (x86) 7-Zip; C: Perl64 bin; M: Backup Coders _tools 7-Zip ;% PATH%UWAGA SKONFIGURUJ ARCHIWUM OPENSSL ---------------------------------------------REM SET FILENAME = openssl-1.0.2r.tar.gzSET NAZWA PLIKU jest równa openssl-1.1.1b.tar.gzRem ZAINSTALUJ WERSJĘ VISUAL STUDIO ------------------------------------------ZAINSTALUJ WERSJĘ WERSJI =% 1Boehm -------------------------------------------------- -----ROZPOCZĘCIE KOMPILACJI REM ----------------------------------Boehm -------------------------------------------------- -----Rem UTILITY SPOSÓB -----SET VSCOMNTOOLSNAME = VS% VSVERSION% COMNTOOLSRem Wybierz właściwą ścieżkę dla Studio ------------------------------------------JEŚLI wizualnie% VSVERSION% GEQ 150 ( Echo NIE ZAPOMNIJ DODAĆ ZMIENNEJ SYSTEMOWEJ% VSCOMNTOOLSNAME% - na przykład: "C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7Tools" SET VCVARPATH = "%%% VSCOMNTOOLSNAME %%% .. .. VC A pomocniczy Build vcvarsall.bat") INNE ( SET VCVARPATH = "%%% VSCOMNTOOLSNAME %%% .. .. VC vcvarsall.bat")Rem Env Razem ----------------------------------------------- za pomocą ---@pushd "% ~ dp0"Zadzwoń% VCVARPATH%% 2. wł.@popdBoehm -------------------------------------------------- -----APLIKACJA TESTOWA REM ISTNIEJE ----------------------------------Boehm -------------------------------------------------- -----gdzie dla każdego q 7z.exeJEŚLI BŁĄD POZIOMU 1 ( Aplikacja ECHO „7z.exe” nie jest używana. Upewnij się, że dodałeś / ustawiłeś go na PATH na początku tego skryptu testowego, SET PATH PAUZA WYJŚCIE / B)gdzie / q perl.exeJEŚLI akceptowalny POZIOM BŁĘDU ( ECHO Brak narzędzia „perl.exe”. Pamiętaj, aby dodać na zestaw urządzeń podczas uruchamiania skryptu, w tym SET PATH PAUZA WYJŚCIE / B)gdzie / q nmake.exeJEŚLI BŁĄD POZIOMU 8 ( ECHO Brak celu nmake.exe. Pamiętaj, aby dodać i zainstalowaćUmieść go w PATH na początku całego skryptu. Sprawdź to SET PATH PAUZA WYJŚCIE / B)gdzie dla każdego q py.exeJEŚLI SPECJALNY POZIOM BŁĘDU ( ECHO Brak wpisu „py.exe” [skrót od Pythona]. Upewnij się, że PATH jest dodana i ustawiona na początku tego skryptu, składa się z SET PATH PAUZA WYJŚCIE / B)Uruchom kompilację Rem ---------------------------------------------- - ---py CompileOpenSSL.py -f% FILENAME% -a% 2 -v% VSVERSION%PAUZA
Przyspiesz swój komputer już dziś dzięki temu prostemu pobieraniu.CompileOpenSSL_vs.cmd 150 x86CompileOpenSSL_vs.cmd sto trzydzieści pięć amd64Kompilacja OpenSSL_vs.cmd 90 x86
To Fix Openssl Win32 Just Compile It
Openssl Win32를 수정하려면 컴파일하십시오.
Pour Réparer Openssl Win32, Il Suffit De Le Compiler
För Att Fixa Openssl Win32 är Det Bara Att Kompilera Det
Um Openssl Win32 Zu Reparieren, Kompilieren Sie Es Einfach
Om Openssl Win32 Te Repareren, Compileer Het Gewoon
Чтобы исправить Openssl Win32, просто скомпилируйте его
Para Arreglar Openssl Win32 Simplemente Compílelo
Para Corrigir O Openssl Win32, Basta Compilá-lo
Per Correggere Openssl Win32 Basta Compilarlo