質問

VC6 でコンパイルされた古い C++ プロジェクトがあります。

新しい機能を実装するには、新しいライブラリを静的にリンクする必要があります。

残念ながら、新しいライブラリではシンボルが定義されています (つまり、_inflate) は、以前にリンクされた静的ライブラリですでに定義されています。

もちろん、どちらのライブラリも削除することはできません。また、当然のことながら、ライブラリのソース コードにアクセスすることもできません。

リンカエラー(LNK2005)を回避する方法はありますか?

役に立ちましたか?

解決

_inflate の 2 つのバージョンが同一であるか、少なくとも「互換性がある」ことがわかっている場合は、 /FORCE:複数のリンカー オプション 名前の衝突を無視するように強制します。

もちろん、何らかの形で「互換性がない」コードのバージョンにリンクすると、未定義の動作が発生する可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top