【问题标题】:What is the difference between libboost-XXX-dev and libboost-XXX?libboost-XXX-dev 和 libboost-XXX 有什么区别?
【发布时间】:2016-01-13 06:59:21
【问题描述】:

现在我正在尝试在我的项目中使用 libboost-regex。但我有点困惑,因为有一些像下面这样的相关库。我只想使用 boost-regex。那么在这种情况下,安装 libboost-regex 的最佳方法是什么?还有XXX-dev和XXX(不带dev后缀)有什么区别?

我假设 XXX-dev 库包含源文件,另一方面,XXX(没有 dev)不包含源文件,只有 .so 或 .a。我的理解对吗?

我的环境在这里。

ubuntu 12.04
gcc 4.8.2

以及搜索结果的提升。

$aptitude search boost 
libboost-regex-dev                                 - regular expression library for C++ (default version)
libboost-regex-dev:i386                            - regular expression library for C++ (default version)
libboost-regex1.54-dev                             - regular expression library for C++
libboost-regex1.54-dev:i386                        - regular expression library for C++
libboost-regex1.54.0                               - regular expression library for C++
libboost-regex1.54.0:i386                          - regular expression library for C++
libboost-regex1.55-dev                             - regular expression library for C++
libboost-regex1.55-dev:i386                        - regular expression library for C++
libboost-regex1.55.0                               - regular expression library for C++
libboost-regex1.55.0:i386                          - regular expression library for C++

【问题讨论】:

  • 由于包的名称取决于你的包管理器,我想说你应该在问题中写下你的系统或包管理器的名称。但我认为大多数或所有包管理器都以相同的方式使用 dev-suffix。
  • 对不起,我添加了我的环境信息。

标签: c++ regex boost debian apt-get


【解决方案1】:

dev 提供开发头文件。如果您想编译使用 boost 的东西,而不仅仅是运行与 boost 动态链接的程序,则需要这样做

版本号就是这样,不同版本的boost,包含不同版本的底层库

:i386 指的是编译二进制文件的架构


如果你只想使用“header-only”boost库,你不需要安装这些包,你可以去source forge,下载你想要的任何boost版本的tarball,然后指向你的编译器/构建系统以包含 boost 根,而不实际构建 boost。

但是,您的系统上可能还有其他程序依赖于编译后的 boost,所以一般来说我建议安装“libboost-all-dev”

【讨论】:

    猜你喜欢
    • 2014-10-03
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    相关资源
    最近更新 更多