【发布时间】:2011-07-08 06:42:22
【问题描述】:
例如在 Boost 中。我将 MSVC++2010 中的 include 目录设置为 Boost 根目录,并在我的源代码中有一个 #include <boost/regex.hpp>。我将 library 目录设置为 boost\stage\lib,但其中有数百个文件 - 每个 Boost 库都有几个文件,这些文件用于 boost::regex:
MSVC 如何知道所有 lib 文件中的哪一个是正确的?如果它扫描所有这些以查找正确的函数签名,这是否意味着从两个不同的源(未相互链接)编译的 2 个不同的 lib 恰好定义了具有相同名称和参数的函数不能在一个 lib 文件夹中?
它如何知道在所有这些不同的正则表达式 .lib 中哪个是正确的?然后,每个文件名中带有1_46 的文件似乎与没有的文件相同,我可以安全地删除两者之一吗?
【问题讨论】:
-
我敢打赌,如果您查看
regex.hpp内部,您会发现数十个#pragma library语句(或类似语句。我忘记了确切的语法)