最近、クラウドプリントモジュールにいくつかの大きなアーキテクチャの変更(つまり、マルチスレッドのサポート)を行いました。ここでPreFastチェックを実行する必要がありますが、使用しているVisual Studio 2008の現在のエディションにはPreFastチェックのサポートが統合されていないため、WindowsDDKを使用して実行する必要があります。
WDKを使用してソースをビルドしようとしていますが、このエラーが発生します。
エラーLNK2005: "void _cdecl operator delete(void *)"(?3 @ YAXPAX @ Z)はすでにlibcmt.lib(delete.obj)で定義されています
リンカーlibcpmt.lib
は前の段階で使用されていて、deleteメソッドの定義も同じだったと思います。ソースには、異なるモジュールレベルで混合されたcファイルとcppファイルもあります。libcmp.lib
これが、そもそも両方を使用している本当の理由libcpmt.lib
でしょうか?
とにかくこれを修正できますか?私は本当に「正しい」方法を必要としません。私が欲しいのはソースを構築することだけです。そうすれば、PreFastチェックを実行できます(リンク関連の警告については実際には心配していません)。これに関してPreFast警告が表示された場合は、当面スキップできます。