使用boost编译以使用可用的boost版本

Compile with boost to use whatever boost version is available?

本文关键字:boost 版本 编译 使用      更新时间:2023-10-16

我在ubuntu 12.04上编译了一个Linux包,它使用boost,在这个系统上我有boost 1.46。我试图在另一个系统上运行编译后的版本,它抱怨它找不到libboostrongystem.so.1.46.1。该系统安装了boost 1.49。如何进行编译,使程序使用现有的引导版本,而不是开发机器上的特定版本。

你不能指望你的程序能在不同版本的库中工作。

有/不同的/版本这一事实意味着它们/不相同。

如前所述,要么

  • 静态链接到您的特定版本,或
  • 你可以发布共享库(只要你把它们放在应用程序特定的位置,并确保在运行时找到它们)。顺便说一下,请参阅这里的第二个示例:如何为相关的链接器选项编译boost async_client.cpp以使用自定义库(它假设在运行时使用相同的位置(rpath)
  • )