【问题标题】:Want to compile and build boost library with /md option on windows想在 Windows 上使用 /md 选项编译和构建 boost 库
【发布时间】:2016-02-26 19:29:50
【问题描述】:

我需要使用 /md 选项而不是 /mt 构建 boost boost_1_59_0 库。

这里有人可以帮助我吗?我看到有一个文件 build.jam,其中 /mt 在很多地方都使用,但不确定在这个文件中用 /md 替换 /mt 是否能满足我的要求。

【问题讨论】:

  • 我认为(不确定)使用runtime-link=shared 构建提升将实现这一目标。
  • 我试过了,但没有运气:(
  • 您也可以尝试从here 下载二进制文件。您需要在 32 位和 64 位以及正确的版本之间进行选择(msvc-14 是 Visual Studio 2015;msvc-12 是 Visual Studio 2013)。请记住,Visual Studio 2015 32 位的文件扩展至略高于 2.5 GB 的空间(我怀疑其余部分会相似)。解压文件并设置 include 和 lib 目录后,通过在 Visual Studio 选项中使用 /MD 自动链接将找到适当的库。
  • 你能写出你用的b2命令吗?

标签: windows visual-c++ boost


【解决方案1】:
/MT: b2 runtime-link=static
/MD: b2 runtime-link=shared  <= The default value

您还可以按照 Grigoriy 的建议构建所有库。在这种情况下,输出文件名将不同。例如:

/MT: libboost_regex-vc141-mt-s-1_65.lib
/MD: libboost_regex-vc141-mt-1_65.lib

【讨论】:

  • 非常感谢您对命名约定差异的详细解释。
【解决方案2】:

您可以使用选项 --build-type=complete 运行 b2。它应该构建all supported variants of the libraries

或

您可以使用以下内容:b2 variant=release,debug link=static 仅构建所需库的静态版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多