0

サードパーティの dll とライブラリを使用するプロジェクトを開発しています。「IBM purifier」でアプリケーションを実行したいので、静的 CRT (LIBCMTD) を使用してプロジェクトをビルドしたいと考えています。ただし、サードパーティのライブラリは動的 CRT (MSVCRT) を使用して構築されています。

これにより、次のようなリンク エラーが発生します。 gmtime64.obj) MSVCRTD.lib(MSVCR80D.dll): エラー LNK2005: __localtime64 はすでに LIBCMTD.lib(loctim64.obj) で定義されています

さまざまなリンカー設定を試しました。また、リンカー コマンド ラインに /FORCE:MULTIPLE を指定して、複数の定義を無視してビルドを作成しました。そうしましたが、私のアプリケーションはまだ浄化装置で実行できませんでした。

私が達成しようとしていることを行う良い方法はありますか? サードパーティのソース コードを制御して、その設定を制御することはできません。

ありがとう

4

1 に答える 1

1

静的ライブラリのみを使用してビルドする必要がある場合は、おそらくうんざりしています-それらのDLLは、標準ライブラリに動的にリンクするように既に構成されており、プロジェクトの残りの部分をビルドする際に何もしなくても、それが変更されることはありません(そのベンダーに、標準ライブラリに静的にリンクするバージョンを提供してもらうことができます)。

于 2010-02-05T05:18:34.793 に答える