如何将 libboost 1.54 升级到 1.58?

How can i upgrade libboost 1.54 to 1.58?

我有两台 Ubuntu 14.04 服务器 64 位机器。当我在两台机器上使用 "sudo apt-get install libboost-all-dev" 时,机器 1 获得 libboost1.54,机器 2 获得 1.58。这是为什么?

我想使用机器 1 为机器 2 编译程序,但由于机器 1 使用 libboost 1.54,我总是 get error while loading shared libraries: libboost_system.so.1.54.0: cannot open shared object file: No such file or directory 在尝试 运行 编译程序时使用 1.58 的机器 2。我试图用 sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.54.0 创建一个 link 但这也无济于事。

有什么想法吗?

您可以:

  1. download and build Boost yourself. It can be a bit tricky because of language-standard-version-related switches (see 具体来说),但这并不可怕。在两台机器上都这样做

  2. Link 您的二进制文件是静态的,因此您不需要在目标机器上安装 Boost。

至于你为什么在这里得到一个版本而在那里得到另一个版本的问题 - 我猜这是 APT 源配置的差异,但我不确定,另外,对于这个站点来说是 off-topic(尝试http://unix.stackexchange.com or http://askubuntu.com)