【发布时间】:2014-03-11 15:23:11
【问题描述】:
我在 ubuntu 12.04 上编译了一个使用 boost 的 Linux 包,在这个系统上我有 boost 1.46。我试图在另一个系统上运行编译后的版本,它抱怨它找不到 libboost_system.so.1.46.1。该系统已安装 boost 1.49。如何编译以便程序使用存在的任何版本的引导而不是开发机器上的特定版本。
【问题讨论】:
-
一个选项可能是针对 Boost 进行静态链接,而不是您当前的动态链接设置。不知道是不是所有的 Boost 库都支持这个。
-
您正在使用哪些编译器/链接器选项?
-
不同的
boost版本有不同的二进制接口。除非极度手帕,否则你不能这样做。 -
按照 Jason R 的建议,静态链接 boost 库是处理这个问题的正确方法。
标签: c++ boost compilation