ページへ戻る

− Links

 印刷 

技術系備忘録​/C++​/OpenSSL​/ビルド方法 :: シンクリッジ

xpwiki:技術系備忘録/C++/OpenSSL/ビルド方法

ページ内コンテンツ
  • windows ( VisualStudio )
    • ビルド方法
      • 事前準備
      • OpenSSL をダウンロード
      • フォルダ構成
      • VisualStudio コマンドプロンプトで
      • 出来上がり
    • ダウンロードからビルドまでしてくれる BAT ファイル
  • 更新履歴

windows ( VisualStudio ) anchor.png[1]

Page Top

ビルド方法 anchor.png[2]

Page Top

事前準備 anchor.png[3]

  • 要 VisualStudio
  • 要 perl。ActivePerl が無難だと思います。
    • ppm install dmake が必要になるかも。
Page Top

OpenSSL をダウンロード anchor.png[4]

Page Top

フォルダ構成 anchor.png[6]

  • ここでは以下の感じでやってます
    • c:\openssl\openssl-1.1.0g   ←解凍したファイル一式
    • c:\openssl\x86     ←出来上がり先
Page Top

VisualStudio コマンドプロンプトで anchor.png[7]

> cd c:\openssl\openssl-1.1.0g
> perl Configure VC-WIN32 --prefix=C:\openssl\x86 --openssldir=C:\openssl\openssl-1.1.0g\ssl no-asm no-shared
    • VC-WIN32 で 32bit版。64bit版なら VC-WIN64A。
    • --prefix、--openssldir は絶対パスで。
    • no-asm でアセンブラ不使用の指定。パフォーマンスを優先するなら NASM を入れた上で外したほうがよいのかも。よくわかってません。
    • no-shared で スタティックライブラリに。がしかし適宜変更で。
> make
> make install
Page Top

出来上がり anchor.png[8]

  • C:\openssl\x86 を確認。
Page Top

ダウンロードからビルドまでしてくれる BAT ファイル anchor.png[9]

  • 使い方は適当なフォルダに BAT を置いて叩くのみです。
  • setup_openssl.bat
    setlocal
    cd /d %~dp0
    
    @echo on
    
    del openssl-1.1.1d.tar.gz
    rd /s /q openssl-1.1.1d
    
    :: powershell -Command "Invoke-WebRequest -Uri https://www.openssl.org/source/openssl-1.1.1d.tar.gz -OutFile openssl-1.1.1d.tar.gz"
    wsl wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
    wsl tar -xvf openssl-1.1.1d.tar.gz
    
    cd ./openssl-1.1.1d
    
    perl Configure VC-WIN32 --prefix=%CD%\x86 --openssldir=%CD%\ssl no-asm no-shared
    nmake.exe install
    
    cmd /k
    
    • WSL(Windows Subsystem for Linux)を使ってますのでそれも必要です。が、ダウンロードと解凍でのみ使ってるので、powershell や一般的な解凍ツールに挿げ替えることは可能だと思います。
    • VisualStudio の 開発者コマンドプロンプト で実行すると悩むことが少ない気がします。パスを通しておくとかそのあたりの事情で。
Page Top

更新履歴 anchor.png[10]

  • ダウンロードからビルドまでしてくれる windows 用 BAT ファイル を追記しました。2019/11/8

Last-modified: 2019-11-08 (金) 09:58:44 (JST) (1629d) by takatsuka