2016-03-20 18 views
0

Visual Studio 2013でOpenSSLを構築する方法は? 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でコンパイルしました。何が問題なの?前もって感謝します。Visual Studio 2013でOpenSSLを構築する

答えて

1

私は静的ライブラリとしてOpenSSL 1.0.2dを構築するのと同じエラーが発生したことを覚えています。 OpenSSLを構築し、Cにそれをインストールし、新しいコマンドラインウィンドウで

:\ビルド\ビン\ 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

14.0*または12.*を例えば14.10.*はなく)nmakeの正しいバージョンが実行されたことを確認したい場合があります:エラーA2088: NMAKE:致命的なエラーU1077: "C:\ Program Files(x 86)\ Microsoft Visual Studio 12.0 \ VC \ BIN \ amd64 \ ml64.EXE":0x0 " 停止。 – 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

私はVS2013でOpenSSL 1.0.2fを作成しましたが、エラーは発生しません。新鮮なOpenSSLソースコードを使用してください。再使用しないでください。 – Tuan

+0

![私は最後のバージョンのOpenSSLを使用しています](http://i.imgur.com/bemoWgE.png)(\t OpenSSL 1.0.2g) – continue

1

は、Visual Studio 2015

1用の更新この答えを取る - 1.0.2hを使用してくださいopensslソース。

2 - (旧式ではありません)nasm(最新ではありません)をインストールしてください:2013年のバージョン2.11 [1]:http://www.nasm.us/pub/nasm/releasebuilds/2.11/を使用し、あなたのパスに入れてください。

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で設定)でインストールフォルダを編集します。あなたがインストールVSの複数のバージョンを持っている場合は

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))(オプション、あなたは:

6)ダウンロードしたソースのルートディレクトリにコマンドプロンプトを開き、(編集など)には、以下のコマンドを実行 `組立:tmp32 \ x86_64cpuid.asm tmp32 \ x86_64cpuid.asmを(1)いいえ、それは助けにはならなかった

関連する問題