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++ 链接器页面。然后未选中选项Link with Dynamic RTL。这具有将链接库(静态或动态)中的所有方法插入可执行文件(或在我的情况下插入自定义组件库 MyComponent.lib)中的效果。所以链接主项目时不需要额外的文件。不过,我不完全理解我应该怎么做才能避免 STL 代码的重复。我也在主项目中使用了同样的功能。在我看来,现在这个函数在 MyProject.exe 中出现了两次。首先来自链接的 MyComponent.lib,然后像往常一样将使用的方法链接到可执行文件。

于 2012-04-24T14:48:25.557 回答