0

VC++8.0でWebページを取得するための簡単なcurlプログラムを作成しようとしています。

 #include <stdio.h>
 #include <curl.h>

 int main(void)
 {
   CURL *curl;
   CURLcode res;

   curl = curl_easy_init();
   if(curl) {
     curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se");
     res = curl_easy_perform(curl);
      /* always cleanup */
    curl_easy_cleanup(curl);
   }
   return 0;
 }

インクルードパスとライブラリパスをcURLインクルードとlibディレクトリに追加しました。準拠していますが、デバッグモードに入ろうとすると、プロセスのロード中に未処理の継続不可能なSTATUS_DLL_NOT_FOUND例外がスローされ、コードが-1073741515(0xc0000135)で終了します。

4

3 に答える 3

1

デバッグモード以外で実行した場合、期待どおりに機能しますか?または同じエラーが発生しますか?

デバッグモード以外では機能しない場合、アプリケーションはdllを見つけることができませんでした。

別の質問ですが、プロジェクトと一緒にソースからlibcurlをコンパイルしようとしていますか、それとも外部ライブラリとして使用していますか?

ソースを使用している場合は、libcurlもコンパイルされるように、ソリューション全体をコンパイルする必要がある場合があります。

外部ライブラリを使用している場合は、アプリケーションの作業ディレクトリにdllを配置してみてください(見つけることができませんでした)。

于 2010-03-05T12:09:22.650 に答える
1

依存関係ウォーカーを使用して、ロードされていない.dllを特定し、パス上のどこかに、またはプログラムが配置されているのと同じフォルダーにコピーします。

于 2010-03-05T12:13:53.423 に答える
0

解決しました!! たくさんのフォーラムを読んだ後。実際の解決策は、Ismaelによって説明されているとおりです。ありがとう!

エラー:....シンボルが見つかりません。

説明::これは、dllの1つがVisual Studioによって検出されない場合に発生します。これは、明らかにVisualStudioによって指摘されていません。

解決策::私の場合、cutil32.dllが見つからなかったため、C:/ Windows/system32フォルダーにコピーする必要がありました。どのdllが欠落しているかを把握するのは非常に困難です(これについてはMSFTが嫌いです)。とにかく依存関係ウォーカーをダウンロードし、ファイル->実行可能ファイルを開きます(デバッグまたはリリース)。それを実行すると、どのdllが欠落しているかがわかります。私の場合、これらのファイルにはCUTIL32.DLL、MSVCR80.DLL、MSJAVA.DLLがありませんでした。CUTIL32.dllをコピーすると、問題がsystem32フォルダに解決されました。幸運を!!

于 2010-06-04T00:08:47.023 に答える