2017-02-05 12 views
-1

この質問は、64ビットマシン用のカールライブラリビルドです。 Googleで多くの検索が行われましたが、エラーが発生しました。x64ビットマシンのCURLライブラリ(C++)のDLLを構築できませんでした

以下はこれまでに行われたことです。

- > CURLソースを下のリンクからダウンロードしてください。 https://curl.haxx.se/download/curl-7.52.1.zip

- > curl-7.52.1ディレクトリにzipを展開します。 「Visual Studio 2008コマンドプロンプト」を開始→プログラムファイル→Microsoft Visual Studio 2008

→下のコマンドを実行すると、ダウンロードされたカールするディレクトリに移動します。

$(WorkDir)\curl-7.52.1\winbuild> 

- >以下のコマンドを実行すると、curlライブラリが構築されます。

nmake /f Makefile.vc mode=dll machine=x64 

- >ビルドコマンドの後、エラーの下になった:

..\builds\libcurl-vc-x64-release-dll-ipv6-sspi-winssl-obj-lib/file.obj : fatal e 
rror LNK1112: module machine type 'X86' conflicts with target machine type 'x64' 

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\ 
VC\BIN\amd64\link.exe"' : return code '0x458' 
Stop. 
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\ 
VC\BIN\amd64\nmake.exe"' : return code '0x2' 
Stop. 

は、上記のエラーに適した解決策を見つけませんでした。

誰かがエラーを解決するのに役立つことができたら非常に感謝します。

ありがとうございます。

+0

私の答えがうまくいかなかった場合は、他の人に役立つ答えを書いてください。私の答えがうまくいくなら、それを正しいものとしてチェックしてください。 –

答えて

0

Visual Studioには、x86またはx64コンパイラのいずれかを取得するために設定する必要がある環境変数があります。あなたは、バッチファイルvcvarsall.batを見つける必要があり

  1. 、そしてあなたは、コマンドを起動するショートカットを見つける必要があり、正しい環境変数

  2. をインポートするためにそれを使用する:そここれらの環境変数を設定する方法は複数あり64ビットコマンドプロンプトでプロンプトを表示します。以下は、この説明my blogからのスクリーンショットです:だから

enter image description here

を、あなたはそのショートカットまたはlearn how to use vcvarsall.batを見つける必要があります。そこにはそこにたくさんのチュートリアルがあります。

重要なことは、Visual Studio 2012より前のバージョンではVisual Studio Expressでは64ビットが使用できなかったため、Visual Studio 2008 Professionalを使用しない限りこれはできません。

これが役に立ちます。

+0

お返事ありがとうございます。私はあなたの提案に従って試しました。 スタートメニューから「Visual Studio 2008 x64 Win64コマンドプロンプト」コマンドプロンプトを開き、「C:¥Program Files(x86)¥Microsoft Visual Studio 9.0¥VC¥」ディレクトリから以下のコマンドを実行してください: 'vcvarsall.bat x64' そして以下の "curl-7.52.1 \ winbuild"ディレクトリから: 'nmake/f Makefile.vc mode = dll machine = x64' しかし、同じエラーが表示されます。 – gsmaker

+0

@gsmaker私はあなたがいくつかのSSLライブラリにリンクしているのを見ることができます。それは64ビットコンパイラでコンパイルされていますか?バイナリ互換性が必要であることに注意してください。リンクするものはすべて64ビットです。 –

+0

@gsmakerだから?それは動作しましたか? –

関連する問題