Boost 库构建 - 运行时链接和链接选项之间的区别

2024-04-24

我正在尝试使用 MSVC (VS 2010) 在 Windows 7 中构建 boost 库。

我遇到过这些选择运行时链接和链接在 bjam 命令行选项中。我想知道它们是如何使用的以及它们之间的确切区别是什么。

我已经使用此命令行构建了 Boost Regex 库

bjam --with-regex 变体=发布 --build-options=完整

它生成了这些文件:

1)boost_regex-vc100-mt-1_47.dll(导入库:boost_regex-vc100-mt-1_47.lib)

2)libboost_regex-vc100-mt-1_47.lib

3)libboost_regex-vc100-mt-s-1_47.lib

4)libboost_regex-vc100-s-1_47.lib

2 个和 3 个 .lib 文件有什么区别?它们都是静态库。我已经阅读了 Boost 文档,但没有找到太多解释。

TIA


runtime-link指的是编译器的运行时是如何链接的。也就是说,它对应于VC的Multithreaded vs. Multithreaded DLL选项。运行时是指使用编译器提供的标准库所需的组件。

您可能在某个时候见过动态链接文件:MSVCRTXX.DLL(C 运行时)和MSVCPXX.DLL(C++标准库),MFCXX.DLL(MFC 核心类)。静态对应物是 LIBC 和 LICBP(参见here http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx对于图书馆表)

构建 Boost 时使用的运行时链接选项应与用于客户端代码时的选项相匹配。否则,由于运行时不匹配,无论是在链接时还是在运行程序时,您都会收到错误。

当构建程序以使用动态链接运行时时,您需要包括VC可再发行 http://www.microsoft.com/download/en/details.aspx?id=5555部署您的应用程序时。

link指的是您的构建将如何链接到 boost 库,无论是作为静态链接库还是动态链接库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Boost 库构建 - 运行时链接和链接选项之间的区别 的相关文章

随机推荐

  • 如何在 XAML 上设置 ResourceDictionary FontSize?

    如果这会是一件混乱的事情 我深表歉意 我对 Xamarin 还很陌生 目前我正在尝试将此资源字典代码转换为 XAML Current Resources new ResourceDictionary FontResources Defaul
  • 设计 EAP-TLS 客户端问候消息

    我正在尝试设计第一个启动 EAP TLS 握手的数据包 这是我的数据包目前的样子 我通过用相应的信息手动填充 C 中的缓冲区来设计 EAP 部分 我使用 OpenSSL 导出的 TLS 部分如图所示在这个问题中 https stackove
  • 如何在 MS Access 表单上动态保持控件居中(相对位置)?

    我正在使用 Access 2013 并且有许多控件 列表框 按钮等 当调整表单大小时 我希望它们作为一个组在表单上保持居中 锚定无法实现我正在寻找的目标 因为我不想将控件锁定到顶部 底部 左侧 右侧 我希望他们留在中心 只需使用这样的代码m
  • 在 C++ 中清除控制台

    我正在尝试清除 C 中的控制台 我知道打印多个换行符是一种不好的做法 因为它可能很慢 并且完全清除控制台窗口并不总是可靠的 但我研究了多种选项 除了发现几乎没有其他解决方案system cls 这是一个更糟糕的选择 本质上 我用过这条线co
  • 输入:页面加载时应用了无效的 css 规则

    在 Firefox 或 Chrome 中查看这两个 fiddle 在this http jsfiddle net hezgkxoh 2 一 我只有一个简单的表格required属性和一个submit按钮 当框为空时按 提交 会导致其样式为i
  • 参数化方法调用什么时候有用?

    Java 方法调用可以像下面的代码一样进行参数化 class Test
  • 典型的按键持续时间是多少

    我正在固件项目中做一些关于按键处理的工作 我一直在谷歌上搜索 试图找出按键的典型持续时间是多少 特别是快速打字员的最短持续时间 令人惊讶的是我在任何地方都找不到任何相关数据 最近有一些关于按键时序的研究已经发表 这里有两个 http www
  • 如何在 .NET 中可靠地获取图像尺寸而不加载图像?

    我知道如何获取图像的大小 x y Image FromFile cat jpg Size 但这需要从内存中加载图像 当我在 Windows 资源管理器中查看图像时 它会显示尺寸 我如何访问该大小 它对所有图像都可靠吗 Windows 资源管
  • 什么日历似乎是从 1800 年 12 月 28 日开始计算天数的?

    我的任务是从一些奇怪的旧系统中读取一些数据 该系统包含许多日期 但它们的格式都很奇怪 它们是整数 范围约为55 000 to 80 000 我确定有两个日期 58 112 equals February 5 1960 originally
  • 为什么我不能在 python 的 for 循环中重新分配变量? [复制]

    这个问题在这里已经有答案了 今天我发现一个有趣的事实 我无法在 for 循环 中重新分配变量 但为什么呢 这是我的代码 gt gt gt my list 1 2 3 4 5 gt gt gt for i in my list gt gt g
  • WCF - 如何在 JSON 中序列化和反序列化?

    我在 WCF 中编写了几个类 数据契约和服务契约 并且尝试在 JSON 中进行序列化和反序列化 如果我需要以下 JSON 结构 我将如何创建 DataContract s response locations location id 12
  • 在 JavaScript 中查找文本字符串

    我有一个很大的有效 JavaScript 文件 utf 8 我需要从中自动提取所有文本字符串 为简单起见 该文件不包含任何注释块 仅包含有效的 ES6 JavaScript 代码 一旦我发现发生 or 或 我应该扫描文本块的末尾 这是我陷入
  • TypeError:expect(...).to.startsWith 不是一个函数 - chai 和 chakram

    我开始编写一些自动化测试 API 现在我尝试对此端点执行以下操作 https dog ceo api breeds image random https dog ceo api breeds image random 所以我添加到我的函数中
  • Java (JGIT) Files.delete() 删除文件失败,但 file.delete() 成功

    我正在使用 jgit 版本4 8 0 201706111038 r 并添加一个关闭钩子以在终止后删除临时目录 但是 关闭挂钩无法从内部删除某些文件 git子目录 尽管按照 jgit 的要求关闭了 Git 对象 但有趣的是 只有当我使用 Pa
  • 多次运行 gradle 任务

    我有一个 gradle 项目 在子目录中包含两个模块 目录结构如下 root module1 build gradle module2 build gradle build gradle settings gradle 顶层settings
  • 如何修复 getActionBar 方法可能产生 java.lang.NullPointerException

    我在活动中使用工具栏作为操作栏 我正在尝试添加方法getActionBar setDisplayHomeAsUpEnabled true 到 Activity java 文件 用于旧设备的向上导航 该方法在 Android Studio 中
  • 在反序列化之前根据标头过滤消息

    有时 可以在反序列化之前根据标头值过滤掉消息 使用 spring kafka 是否有针对此场景的任何现有模式 我正在考虑实现类似于 ErrorHandlingDeserializer 除了委托之外还将过滤谓词作为属性 有什么建议么 谢谢 是
  • MVC 5 中的存储过程不返回值

    我正在通过数据库方法使用实体框架 MVC5 进行工作 我使用Mysql作为数据库 我创建一个程序 当通话流程在Mysql中它按照我的预期工作 但是当我在 MVC 中使用过程时 它每次都会返回 0 储存程序 CREATE PROCEDURE
  • .playground 是 swift 文件吗?谁能“看到”它?

    我试图弄清楚 playground 文件到底是什么 如果它是源文件 则项目中的其他 swift 文件或其他 playground 文件都无法 据我尝试 看到它 反之亦然 一个项目应该有一个这样的文件吗 它们是一种 swift 文件吗 我知道
  • Boost 库构建 - 运行时链接和链接选项之间的区别

    我正在尝试使用 MSVC VS 2010 在 Windows 7 中构建 boost 库 我遇到过这些选择运行时链接和链接在 bjam 命令行选项中 我想知道它们是如何使用的以及它们之间的确切区别是什么 我已经使用此命令行构建了 Boost