2012-05-11 19 views
2

Opensslの静的ライブラリが必要です。私はhereの指示に従った。私が行った手順は次のとおりでした:エラー "エラーA2009:式の構文エラー" OpenSSL x64静的ライブラリを構築するとき

  1. "Visual Studio 2008 x64クロスツールコマンドプロンプト"を実行します。
  2. ミリ秒を実行perlの設定VC-WIN64A無共有ノーアイデア
  3. を実行\ do_win64a
  4. 編集MS \ nt.makと変更 "32" 出力のdirsで "64" に。
  5. nt.mak

このすべてを行った後、私は第五ステップでエラーが発生します\ のnmake -fミリ秒を実行します。

Assembling: tmp32\md5-x86_64.asm 
tmp32\md5-x86_64.asm(8) : error A2009: syntax error in expression 
tmp32\md5-x86_64.asm(9) : error A2009: syntax error in expression 
tmp32\md5-x86_64.asm(677) : error A2009: syntax error in expression 
tmp32\md5-x86_64.asm(678) : error A2009: syntax error in expression 
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 8\VC 
\BIN\x86_amd64\ml64.EXE"' : return code '0x1' 
Stop. 

ここで間違っているだろうか?または誰でも私のVisual Studio 20005で使用できるOpensslの静的ライブラリへのリンクを私に提供できますか?

+1

私たちに8-9行目を表示すると良いスタートになるでしょう。 –

答えて

2

この問題の回答が見つかりました。どういうわけか、nasmが私のマシンにインストールされていません。ここに示されているエラーは、傷病についても何も言わなかった。

2

私も問題があり、Perlが古すぎることがわかりました。

$func .= " mov QWORD${PTR}[8+rsp],rdi\t;WIN64 prologue\n"; 

私はそれがうまく働いたのActiveState Perlの5.16.3インストールする場合:変数$ PTRが設定されたもののx86_64-xlate.plに次の行には、「PTR」を生成しませんでした!

(私はVisual Studio masmがインストールされていましたが、nasmはPTRキーワードが必要ないように見えるので、生成されたコードはうまくいきました)

0

私の環境ではアクティブな状態も古いようです。正しいバージョンのnasmを使用していたかどうかは分かりませんが、ml64.exeはコマンドラインパラメータでnasmと互換性がありませんでした。人々は私の環境に変数asmを追加しなければならないと言いました。 私はcrypto \ perlasm \ x86_64-xlate.plファイルのグローバルな変更を行いました: "PTR} ["〜 "PTR} [" 変数の後にスペースを追加しました。

+0

元の質問に対する答えはどうですか? – Nikem

+0

asmファイルはperlによって生成されます。 perlスクリプトにエラーがあります。変数は単なる変数ではなく配列のように扱われます。 代わり "MOV \t QWORD [8 + RSP]、RDI \t; WIN64プロローグ" ;テキスト変数にスペースを追加する場合、それは正しい "WIN64のプロローグ[8 + RSP]、RDI \t MOV \t QWORD PTR" を生成します(PTRがありません)、質問からエラーA2009があります。 –

関連する問題