2

最近、Dev-C++ インストールに含まれている Packman.exe を使用して、Dev-C++ に cURL ライブラリをインストールしました。使用しようとする#include <curl/curl.h>とエラーが発生しないため、正しくインストールされていると想定しています。ただし、cURL Web サイトから例をコンパイルしようとすると、次のエラーが発生します。

[Linker error] undefined reference to _imp__curl_easy_init
[Linker error] undefined reference to _imp__curl_easy_setopt
[Linker error] undefined reference to _imp__curl_easy_perform
[Linker error] undefined reference to _imp__curl_easy_cleanup

私が使用しているソースコードは次のとおりです。

#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
  CURL *curl;
  CURLcode res;
  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
  return 0;
}

ありがとうございました!:)

4

2 に答える 2

1

(コンパイルされた) ライブラリを使用するには、次の 2 つのことを行う必要があります。

  • sを追加し#includeて、コンパイラがライブラリを認識できるようにします。
  • .libs (またはs)を追加して.a、リンカーがコンパイル済みライブラリのコードを見つける場所を認識できるようにします。

あなたはおそらく後者を見逃しています。私はDev-C++を使用していないので、追加方法についてはお手伝いできません。

于 2011-06-19T04:32:32.267 に答える
0

Dev-C++ で .lib や .a ファイルをリンカーに追加するには、いくつかの方法があります。

以下は、ブースト チュートリアルhttp://www.boost.org/doc/libs/1_46_1/more/getting_started/windows.html#link-your-program-to-a-boost-libraryを完了するときに行ったことです。

  • [プロジェクト] > [プロジェクト オプション] > [ディレクトリ] > [ライブラリ ディレクトリ] - *.a ファイルが存在するディレクトリを追加します。

また

  • [プロジェクト] > [プロジェクト オプション] > [パラメーター] > [リンカー]

    -L"C:\Path\To Your\Lib\Files\boost_1_46_1\stage\lib"
    -l-lboost_regex-mgw34-1_46_1
    

私は libcurl を使用していませんが、プロセスが似ていることを願っています。

于 2011-06-19T06:56:36.887 に答える