1

我只是在玩boost 的正则表达式库。在构建过程中,我没有指定位置库名称,令人惊讶的是我得到了这个错误:

LINK : fatal error LNK1104: cannot open file 'libboost_regex-vc100-mt-gd-1_47.lib'

我只是设置了 boost 库的位置,错误就消失了!(我没有说任何关于它的名字,libboost_regex-vc100-mt-gd-1_47.lib)
通常当我将一个库链接到我的项目并且我忘记指定它的名称和它的位置时,我得到一个未解决的外部错误。需要指定库名称及其位置,但是通过使用 boost,情况不再如此。那么是什么原因呢?如何创建一个只需要包含其接口并指定其位置的库?

4

1 回答 1

1

请参阅自动链接

大多数 Windows 编译器和链接器都具有所谓的“自动链接支持”,从而消除了第二个挑战。Boost 头文件中的特殊代码检测您的编译器选项并使用该信息将正确库的名称编码到您的目标文件中;链接器从您告诉它搜索的目录中选择具有该名称的库。

于 2013-02-11T22:23:46.210 回答