【问题标题】:Boost 1.68. installation提升 1.68。安装
【发布时间】:2019-05-09 09:38:18
【问题描述】:

我正在我的系统上安装 boost 1.68.0。我想验证使用默认系统编译器(在本例中为 GCC 4.4.7)安装不会影响任何利用 C++14 或更高版本的增强功能。我的项目使用比 GCC 4.4.7 更新得多的编译器 - 我是否通过不使用相同的编译器安装来限制我的 boost 功能集?

目前我只使用仅标头库,但如果我开始使用更多,我想确保一切正常。

【问题讨论】:

  • 嗯,这取决于您的系统以及您执行安装的方式。

标签: c++ gcc boost c++14


【解决方案1】:

如果您使用的是纯头文件库,那么您的系统编译器就无关紧要了——只有您的项目编译器才是重要的。

但是,如果您开始使用预编译的 boost 库,则它们必须使用您的项目编译器进行编译,否则,您可能(而且很可能!)最终会出现 ABI 不兼容,并表现出来(在最好)有链接错误,最坏的情况是应用程序中出现随机错误和崩溃。

【讨论】:

  • 仅用于静态链接,对吗?我认为应该在运行时处理动态链接...
  • @zeus_masta_funk,不,不管这个。什么都不会被照顾,只是错误表现可能会有所不同。
  • 我明白了。更一般地说,这主要是由于名称修改而导致的 C++ 库的问题吗?例如,我链接了许多使用默认系统编译器编译的不同 C 系统库 - 并且(到目前为止)没有发现任何问题。
  • @zeus_masta_funk,是的,这是一个 C++ 的东西。您通常可以使用 C 库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-22
  • 2012-03-17
  • 2012-10-11
相关资源
最近更新 更多