Lua、PhysFS、および xml パーサーを含む C++ プロジェクトに取り組んでいます。それぞれに zlib が含まれています。PhysFS と Lua では zlib バージョン 1.2.3 で、パーサーでは 1.2.5 です。それらは同じ VS2010 ソリューションにありますが、プロジェクトは異なります。各プロジェクトのビルドは正常に機能します。ただし、VS2010 は、最終的な実行可能ファイルのビルド中に、 _ adler32、 _ inflateなどが既に定義されているというリンカー エラーを報告します。奇妙なことに、私が 2 台の異なるコンピューターで作業しているときに、一方が Lua と PhysFS で複数の宣言をしているのに対し、もう一方は Lua と xml パーサーについて不平を言っています。どちらも VS2010 Express を使用しています。
このような問題を回避するための回避策が必要です。それらはよく維持されているオープン ソース ライブラリであるため、ソース コードを変更しないことを好みます。
それぞれを .dll と .lib にコンパイルすると機能しますか? 私の理解では、複数の zlib 宣言は依然として異なる .lib ファイルにあります。本当?
ありがとう。