c-使用boost进行编译以使用任何可用的boost版本?

我在ubuntu 12.04上编译了一个Linux软件包,该软件包使用boost,在这个系统上我得到了boost 1.46.我试图在另一个系统上运行编译的发行版,但它抱怨找不到libboost_system.so.1.46.1.该系统已安装了Boost 1.49.如何进行编译,以便程序使用存在的引导版本,而不是开发计算机上的特定版本.

解决方法:

您不能期望程序可以与该库的其他版本一起使用.

存在/ different /版本的事实意味着它们是/不相同/.

如前所述,

>静态链接到您的特定版本,或者
>您可以交付共享库(只要将它们放置在应用程序特定的位置并确保在运行时找到它们).顺便说一句,请参见此处的第二个示例:How to compile boost async_client.cpp有关使用自定义库的相关链接器选项(假定在运行时使用相同的位置(rpath)

上一篇:python-在鼠尾草工作表中的命令(在鼠尾草数学云中)在鼠尾草中得到任何东西?


下一篇:c-编译时展开循环