QTのlibCurlをWindows 7 x64のC++プログラムにリンクしようとしていますが、libcurldll.a
をリンクしようとすると、私はエラーなしでコンパイルするGCC g++ -LC:\MinGW\lib -lcurldll
で同様の関数をコンパイルしようとしました。 QTとGCCで以下のコードを使用しています。QTでlibCurlをリンクすると、エラーの巨大なリストが得られます。C++
void MainWindow::on_pushButton_2_clicked()
{
CURL *curl;
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
QTは私に貼り付けたエラーの巨大なリストを提供しますhere。キーエラーのいくつかはtlsthrd.c:-1: error: undefined reference to '[email protected]'
です.pro
ファイルにLIBS += -LC:\MinGW\lib -lcurldll
を使用してプロジェクトをカールライブラリにリンクしています。なぜこれが起こっているのか、どんな考えですか?乾杯。
編集:もっと深く見てみると、libmingw32.a
はマルチスレッドに使用される関数への参照を提供するいくつかの問題があるように見えます。ライブラリファイルを置き換えてみるべきですか?もしそうなら、GCCは同じライブラリファイルで正しくコンパイルされますが、QTは正しくありません。
「-lcurl」はどうですか? – karlphillip
EnterCriticalSectionはKernel32.libで定義されています。おそらくあなたは必要なライブラリを含んでいませんか? –
私はWindows上にあるため、 '-lcurl'は動作しません。これはUnixライブラリでのみ動作します。私は 'Kernel32.lib'をリンクしようとしましたが、さらに多くのエラーが生成されます。 – user99545