0

LibCurlを使用する.dllプラグインを作成してから約1年が経ちましたが、今夜は別のプラグインから始めることにしました。残念ながら、私はほぼ4時間同じリンカーエラーと戦ってきましたが、完全に迷子になっています。

私は静的にLibCurlを構築していますが、次のリンカーエラーが発生することを除いて、ほとんどの部分で問題がないようです。

1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _calloc already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _realloc already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _free already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __strdup already defined in memoverride.obj
1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: __malloc_crt already defined in memoverride.obj

私が試してみました...

1)LNK2005はこれが原因であるとMSDNが言ったため、含まれているライブラリを再編成しました。

2)MSVCアプリケーションを使用して、次にコマンドラインツールを使用してLibCurlライブラリを再構築します。

3)問題を引き起こしているライブラリを除外します。

そして今でも思い出せないたくさんのこと。誰かが私がこれらを解決する方法についていくつかの情報を手伝ってくれますか?

4

1 に答える 1

2

問題は、libcurlが/ MDであるのに対し、.dllが/MTであったことです。また、最初は「libcmt」をブロックしていたので、libcurlを/ MTに切り替えたときに、エラーが発生していました。

于 2011-07-22T10:04:36.707 に答える