0

私はいくつかのSTLメソッドを使用しているカスタムコントロールを開発しています。これは、このコンポーネントを使用してプロジェクトをコンパイルしようとしたときに発生するエラーです。

[ILINK32 Error] Error: Unresolved external 'std::numeric_limits<double>::min()' referenced from C:\DOCUMENTS AND SETTINGS\ALL USERS\DOCUMENTS\RAD STUDIO\8.0\DCP\INSTALLCMP.LIB|VctDiag2.cpp

このコンポーネントをデザインモードで使用しても問題はほとんどないので、奇妙です。

4

1 に答える 1

1

私は次の手順を実行することでそれを解決することができました。(カスタムコンポーネントプロジェクトで)[プロジェクトオプション]ダイアログボックスを開き、 C++リンカーページに移動しました。次に、[動的RTLとリンク]オプションのチェックを外します。これにより、リンクされたライブラリ(静的または動的)のすべてのメソッドが実行可能ファイル(または私の場合はカスタムコンポーネントライブラリMyComponent.lib)に挿入されました。したがって、メインプロジェクトをリンクするときに追加のファイルは必要ありませんでした。それにもかかわらず、STLコードの重複を避けるために何をすべきかを完全には理解していません。これと同じ機能をメインプロジェクトでも使用しています。MyProject.exeにこの関数が2回含まれているように見えます。最初はリンクされたMyComponent.libから、2番目は通常どおり使用済みメソッドを実行可能ファイルにリンクする場合です。

于 2012-04-24T14:48:25.557 に答える