构建禁用 Boost 动态库的项目

发布于 2024-09-13 13:33:25 字数 487 浏览 8 评论 0原文

我正在尝试构建开源项目VMWare open view client。我遇到的问题是我可以按照他们的说明构建它,但是我的构建不包含所有依赖项,因此当我部署它时,会出现错误,提示缺少 libboost_signals-gcc41-1_34_1.so.1.34.1。根据他们的论坛,有人建议尝试在禁用动态库的情况下构建 boost。如果我不知道如何实现这一点,就会出现问题。

有想法吗?

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

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

另外,我在这里发帖的原因是我已经在他们的讨论论坛上发了帖子,但没有得到回复。还有一些其他问题已经发布了一个多月了,但没有人回复。所以我怀疑他们正在休息。

感谢您提供的任何意见:-D

I'm trying to build the open source project VMWare open view client. The problem I'm having is I can build it following their instructions however my build does not include all the depedencies and thus when I go to deploy it there is a failure saying missing libboost_signals-gcc41-1_34_1.so.1.34.1. According to their forums someone suggested the following try building boost with dynamic libraries disabled. The problem if I have no idea how to accomplish that.

Ideas?

As a point of reference the way in which you build their project is ./configure && make.
I've looked through the ./configure options and there is a --enable-static-icu but there is nothing for --enable-static-boost.

There are some optional flags that can be passed directly to the C / C++ compiler but I'm not sure what those options would be.

Additionally the reason I am posting here is I've made a post to their discussion forums and have gotten no response. There is also some other questions posted that are over a month old that no one has responded to. So I suspect they are taking a break of some sort.

Thanks for any input offered :-D

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黑白记忆 2024-09-20 13:33:25

首先,不,你不使用“配置”来构建提升。你用bjam。

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

此外,如果您运行“configure --help”,任何使用“configure”构建 makefile 的项目都会生成完整的选项列表。

First off, no you don't use 'configure' to build boost. You use bjam.

The problem seems to be that you are not deploying the dependent libraries along with your executable. Try making sure that the boost libraries are on the target machine also.

Additionally, any project that uses 'configure' to build makefiles will spit up a complete list of options if you run 'configure --help'.

无声无音无过去 2024-09-20 13:33:25

为了回答你的问题,静态库应该是默认构建的——你能仔细检查一下它们不存在吗?如果没有,您应该直接或通过编辑生成的 Makefile 将“link=static”添加到 bjam。

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

To answer your question, static libraries should be built by default -- could you please double check they are not there. If not, you should add 'link=static' to bjam, either directly or by editing the generated Makefile.

On a higher level, I'm not really sure what you're trying to do, or why you got this recommendation. The error message means you lack .so on your target machine. Why don't you copy it over and adjust LD_LIBRARY_PATH? Because even if you have static libraries for Boost, you'll still have to tweak your program to use static libraries, as opposed to shared.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文