我在我的应用程序中使用 boost-thread。当我在客户端机器(运行 Ubuntu 11.10)上部署这个应用程序时,我需要确保 libboost_thread.so 在机器上可用。但是,当我运行“apt-get install libboost-thread1.46”时,它似乎会引入整个开发环境(libgcc、libbost1.46-dev 等)。这台机器只需要运行时环境,不需要开发环境。我想知道是否有更好的方法来处理这个问题。
问问题
254 次
4 回答
2
无此包异常:Ubuntu上不存在包“libboost-thread1.46”,被视为apt-get
正则表达式,开发包也匹配该表达式。两个候选包被命名为libboost-thread1.46-dev
libboost -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 回答