QTW 94 - QuickTime 3 for Windows アプリケーションをビルドするときに発生する MSVC++ の LNK4098 リンクエラー
(1998 年 9 月 21 日)
Q: Microsoft Visual C++ 開発環境を使って QuickTime 3 for Windows アプリケーションをビルドすると、次のようなリンクエラーが返されます。
LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other
libs; use /NODEFAULTLIB:library
なぜですか。
A: QuickTime 3 for Windows は、C ランタイムライブラリのマルチスレッド対応バージョン (LIBCMT) と注意深くリンクされます。このことが原因でビルド設定との間にコンフリクトが発生する場合があります。このようなコンフリクトを回避するには、ビルド設定を調整して LIBCMT とのリンクを行い、すべてのコードを再コンパイルする必要があります (MSVC++ のランタイムライブラリは、実際にはリンク時オプションではなく、コンパイル時オプションとして選択されます)。[Project]メニューの[Settings]ダイアログをオープンし (ALT+F7 キーを押してもかまいません)、[C/C++]タブをクリックして[Code Generation]グループに移動します。[Use run-time library]ポップアップメニューで、プロジェクトの必要に応じて[multi-threaded]または[multi-threaded DLL]を選択します。QuickTime 3 for Windows は[multi-threaded]オプションが選択された状態でビルドされます。IDE を使っていない場合は、C コマンドラインオプションの /MT を使用してください。
-- Scott Kuechle
Worldwide Developer Technical Support
|