【问题标题】:Unable to link stl library无法链接 stl 库
【发布时间】:2012-04-24 09:22:33
【问题描述】:

我正在开发使用某些 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

奇怪,因为我在设计模式下使用这个组件没有任何问题。

【问题讨论】:

  • 这是链接器问题,不是编译器问题。

标签: windows stl linker custom-component c++builder-xe


【解决方案1】:

我设法通过以下步骤解决了这个问题。我打开 Project Options 对话框(在自定义组件项目中)并导航到 C++ 链接器 页面。然后取消选中选项Link with Dynamic RTL。这具有将链接库(静态或动态)中的所有方法插入可执行文件(或在我的情况下插入自定义组件库 MyComponent.lib)中的效果。所以链接主项目时不需要额外的文件。不过,我不完全理解我应该怎么做才能避免 STL 代码的重复。我也在主项目中使用了同样的功能。在我看来,现在这个函数在 MyProject.exe 中出现了两次。首先来自链接的 MyComponent.lib,然后像往常一样将使用的方法链接到可执行文件。

【讨论】:

    猜你喜欢
    • 2011-04-09
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2017-05-15
    • 2011-08-22
    相关资源
    最近更新 更多