web-dev-qa-db-ja.com

LibCURL C ++の使用

私はC++でLibCURLを数時間使用しようとしていますが、それは本当に神経質になっています。他の誰かが以前にこのような問題を抱えていたような気がしますが、私に解決策を与えてくれた投稿は見つかりませんでした。

これは私がしたことです:

libCurlダウンロードページ は非常に紛らわしいので、私が行ったことを正確に投稿しています。まず、一番上にあるファイル( curl-7.23.1.Zip )をダウンロードし、winRARで開きました。次に、includeフォルダーに移動し、そこから「curl」フォルダーを抽出しました。

enter image description here

次に、Code :: Blocksを使用して新しいプロジェクトを作成し、「curl」フォルダーをプロジェクトと同じフォルダーに移動しました。

enter image description here

次に、ファイルの先頭に「#include "curl/curl.h"」を追加し、単純なCURL変数を初期化しようとします...次に、次のようなエラーが発生します。

...\main.cpp|22|undefined reference to `_imp__curl_easy_init'|

これが実際のコード/エラーの写真です: enter image description here

正直なところ、私がやっていることは非常に愚かなことだと思いますが、どうしたらよいかわかりません。

21
hetelek

ついに助けを借りて動作するようになりました

これが私がそれをした方法です:

  1. 「Win32Generic」libcurlパッケージをダウンロードします。 ( 7.24.
  2. Code :: Blocksで、プロジェクトを右クリックしてビルドオプションを開きます。
  3. 「リンカー設定」に移動し、「リンクライブラリ」リストボックスに「curldll」を追加します。 ( 画像
  4. 「検索ディレクトリ」に移動し、「コンパイラ」の下で「curl-7.24.0-devel-mingw32\include」フォルダのパスにリンクします。
  5. 「検索ディレクトリ」の下の「リンカー」タブに移動し、「curl-7.24.0-devel-mingw32\lib」ディレクトリのパスを追加します。
  6. すべてのDLLを「curl-7.24.0-devel-mingw32\bin」フォルダーからプロジェクトの「bin」フォルダーに移動します。
  7. 構築してお楽しみください

QtでlibCurlを使用するには、少し簡単です。

  1. 必要なすべてのファイル/ dll /ライブラリをデバッグフォルダに移動します。 'curl'フォルダーが含まれていることを確認してください。
  2. .proファイルに移動し、「libcurldll.a」ファイルの場所を追加します。例(私の):

    LIBS + = C:\ libcurl\7.24.0\lib\libcurldll.a

  3. 楽しい。

ありがとう R。Martinho Fernandes

10
hetelek

また、libcurlのlib/フォルダーを含める必要があります。このフォルダーには、*.aまたは*.dllファイルが含まれています。これらのファイルはライブラリ自体であり、プログラムをリンクするコンパイル済みバイナリです。

ライブラリを動的にリンクする場合は、プロジェクトディレクトリ、*.dll、またはC:\Windows(C:\ MinGWがコンパイラパスの場合)にC:\MinGW\binを配置する必要があります。

2
Geoffroy

「まず、ファイルの上部(curl-7.23.1.Zip)をダウンロードし、winRARで開きました。次に、includeフォルダーに移動し、そこから 'curl'フォルダーを抽出しました。」

Curlのソースコードをコンパイルしなかったようです。ページ上部のすべてのダウンロードは単なるソースです。

0
Wes Ovall