1

我在我的应用程序中使用 boost-thread。当我在客户端机器(运行 Ubuntu 11.10)上部署这个应用程序时,我需要确保 libboost_thread.so 在机器上可用。但是,当我运行“apt-get install libboost-thread1.46”时,它似乎会引入整个开发环境(libgcc、libbost1.46-dev 等)。这台机器只需要运行时环境,不需要开发环境。我想知道是否有更好的方法来处理这个问题。

4

4 回答 4

2

无此包异常:Ubuntu上不存在包“libboost-thread1.46”,被视为apt-get正则表达式,开发包匹配该表达式。两个候选包被命名为libboost-thread1.46-devlibboost -thread1.46.1,后者是你想要的包。它仅依赖于三个库(libgcc、libc、libstdc++),因为您的程序和 libboost-thread 链接到它们,所以无论如何您都需要部署所有这些库。

因此,通过安装进行部署libboost-thread1.46.1,一切都应该没问题。

于 2012-01-26T10:09:14.320 回答
1

您可以通过下载 boost tar 并使用bjam构建工具自己构建个性化需求。

于 2012-01-26T02:08:54.080 回答
1

您可以静态链接到 boost。

于 2012-01-26T09:12:25.770 回答
1

您还可以使用bcp并将必要的文件复制到您自己的源代码树中。我个人在我的系统上安装了头文件,并将源文件添加到我的项目中( Linux 上的once.cpp, thread.cpp, timeconv.inl, tss_null.cpp)。

于 2012-01-26T09:44:46.030 回答