使用Boost动态库禁用构建项目

时间:2010-08-10 19:39:25

标签: c++ boost vmware

我正在尝试构建开源项目VMWare开放视图客户端。我遇到的问题是我可以按照他们的指示构建它,但是我的构建不包括所有依赖项,因此当我去部署它时,有一个失败说缺少libboost_signals-gcc41-1_34_1.so.1.34.1。根据他们的论坛,有人建议以下尝试在禁用动态库的情况下构建boost。问题,如果我不知道如何实现这一点。

想法?

作为参考点,您构建项目的方式是./configure&&令。
我查看了./configure选项,并且有一个--enable-static-icu但是没有--enable-static-boost。

有一些可选的标志可以直接传递给C / C ++编译器,但我不确定这些选项会是什么。

另外,我在这里发帖的原因是我在他们的论坛上发了帖子并且没有得到任何答复。还发布了一些超过一个月的其他问题,没有人回复。所以我怀疑他们正在休息一下。

感谢您提供的任何输入:-D

2 个答案:

答案 0 :(得分:0)

首先,不,你不使用'configure'来构建boost。你使用bjam。

问题似乎是您没有将依赖库与可执行文件一起部署。尝试确保升级库也在目标计算机上。

此外,如果您运行'configure --help',任何使用'configure'构建makefile的项目都会吐出一个完整的选项列表。

答案 1 :(得分:0)

要回答你的问题,默认情况下应该构建静态库 - 请你仔细检查它们不在那里。如果没有,你应该直接或通过编辑生成的Makefile将'link = static'添加到bjam。

在更高的层面上,我不确定你要做什么,或者为什么你得到这个建议。错误消息表示您在目标计算机上缺少.so。为什么不复制它并调整LD_LIBRARY_PATH?因为即使你有Boost的静态库,你仍然需要调整你的程序来使用静态库,而不是共享。