1

我最近在我的机器上安装了 Debian Squeeze,主要目标之一是 C++ 编程实践。我经常在我的项目中使用 Boost 库。在 OS-X 和 Windows 上,我必须在使用 Boost 头库之前手动安装它们。但是,关于 Linux,Boost 网站的首页提到

流行的 Linux 和 Unix 发行版(例如 Fedora、Debian 和 NetBSD)包括预构建的 Boost 包。

我主要使用头文件库,而不是我当前项目的预构建包。所以我的问题是:默认情况下,头库是在 Debian 上的任何地方安装的,还是我必须安装它们?我已经查看了 /usr/include ,它似乎没有任何 Boost 目录。我已经用谷歌搜索并查找了关于 SO 的相关讨论,但没有得到我的问题的明确答案。如果我必须安装头文件库,是否有一种“apt-get”方式来完成它,或者我只是解压缩并放置在一个方便的位置(/usr/local/include)?

其次,如果我需要手动放置 boost 头文件(比如在 /usr/local/include/ 中),头文件的版本是否应该与预安装的包匹配,以便与任何潜在的未来项目兼容,这些项目同时使用这两种二进制文件(libboost -*) 和头文件?

我对在 Linux 平台上编程相当陌生。虽然,我可以使用补丁和匹配(和谷歌搜索)使事情正常进行,但我正在寻找有关长期最佳实践的指导。

谢谢。

4

1 回答 1

2

说 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 的工具等效)安装 Boost /usr/include,这将比手动安装它们容易得多。如果您以后决定手动安装 Boost,请将该安装与系统包完全分开,这样新版本的库和头文件就不会与系统包冲突。如果它是单用户机器,并且您不需要机器上的其他用户可以使用这些软件包,那么您可以将它们安装在您的主目录中,而不是/usr/local/(这需要超级用户访问权限,您应该尽可能少做可以作为 root 用户)

于 2012-10-08T22:49:31.857 回答