Debian Squeeze 中是不是默认安装了 Boost 头文件库?
Posted
技术标签:
【中文标题】Debian Squeeze 中是不是默认安装了 Boost 头文件库?【英文标题】:Are Boost header libraries installed by default in Debian Squeeze?Debian Squeeze 中是否默认安装了 Boost 头文件库? 【发布时间】:2012-10-08 18:29:43 【问题描述】:我最近在我的机器上安装了 Debian Squeeze,主要目标之一是 C++ 编程实践。我经常在我的项目中使用 Boost 库。在 OS-X 和 Windows 上,我必须在使用 Boost 头库之前手动安装它们。不过关于Linux,Boost网站首页mentions
Fedora、Debian 和 NetBSD 等流行的 Linux 和 Unix 发行版包含预构建的 Boost 包。
我主要使用头文件库,而不是为我当前的项目预先构建的包。所以我的问题是:默认情况下,头库是在 Debian 上的任何地方安装的,还是我必须安装它们?我已经查看了 /usr/include ,它似乎没有任何 Boost 目录。我已经用谷歌搜索并查找了关于 SO 的相关讨论,但我的问题没有得到明确的答案。如果我必须安装头文件库,是否有一种“apt-get”方式来完成它,或者我只是解压缩并放置在一个方便的位置(/usr/local/include)?
其次,如果我需要手动放置 boost 头文件(比如在 /usr/local/include/ 中),头文件的版本是否应与预安装的软件包匹配,以便与任何潜在的未来项目兼容二进制文件(libboost-*)和头文件?
我对在 Linux 平台上编程相当陌生。虽然,我可以使用补丁和匹配(和谷歌搜索)使事情正常进行,但我正在寻找有关长期最佳实践的指导。
谢谢。
【问题讨论】:
【参考方案1】:说 GNU/Linux 发行版“包含”诸如 Boost 之类的包并不意味着它会自动安装,而是意味着该包可供使用系统的包管理工具进行安装。该软件包可能是为您的发行版量身定制的,因此它可以与操作系统的其余部分很好地集成,或者它可能与上游版本相同,其好处是它已经为您构建并且可以方便地从操作系统中安装。
关于 Debian 的包管理工具有大量文档:
http://wiki.debian.org/PackageManagement
http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html
http://www.debian.org/doc/manuals/debian-reference/ch02.en.html
所以是的,你想apt-get
(或其他 Debian 工具的等效工具)在/usr/include
中安装 Boost,这比手动安装要容易得多。如果您以后决定手动安装 Boost,请将该安装与系统包完全分开,这样新版本的库和头文件就不会与系统包冲突。如果它是单用户机器,并且您不需要机器上的其他用户可以使用这些软件包,那么您可以将它们安装在您的主目录中,而不是 /usr/local/
(这需要超级用户访问权限,您应该这样做尽量少用root用户)
【讨论】:
以上是关于Debian Squeeze 中是不是默认安装了 Boost 头文件库?的主要内容,如果未能解决你的问题,请参考以下文章
DEbian Squeeze 将 PHP 5.3 升级到 PHP 5.5