在 Fedora 下是否单独打包了 boost 头文件?

max*_*zig 6 yum fedora boost

boost C++ 库由几个组件组成。某些组件确实包含共享库,而其他组件则不包含。

在一个Fedora 14系统,我打量了一下周围yum search boost,并rpm -qR确实喜欢与其他发行Boost库被分成几个包。

例如, boost-program-options 只包含 boost program-options 组件的共享库。

似乎包boost依赖于所有共享库子包。有boost-devel这似乎提供了所有页眉和依赖的所有共享库的子包(通过增压)。

在没有所有 boost 共享库包的情况下,不可能通过 yum(使用默认存储库)安装 boost 头文件是对的吗?

jsb*_*ngs 6

看boost-devel包,需要同版本的boost包。以下是 boost-devel 软件包所需的内容:

$ rpm -qRp boost-devel-1.44.0-7.fc14.x86_64.rpm 
boost = 1.44.0-7.fc14
cmake  
libboost_date_time-mt.so.1.44.0()(64bit)  
libboost_date_time.so.1.44.0()(64bit)  
libboost_filesystem-mt.so.1.44.0()(64bit)  
libboost_filesystem.so.1.44.0()(64bit)  
libboost_graph-mt.so.1.44.0()(64bit)  
libboost_graph.so.1.44.0()(64bit)  
libboost_iostreams-mt.so.1.44.0()(64bit)  
libboost_iostreams.so.1.44.0()(64bit)  
libboost_prg_exec_monitor-mt.so.1.44.0()(64bit)  
libboost_prg_exec_monitor.so.1.44.0()(64bit)  
libboost_program_options-mt.so.1.44.0()(64bit)  
libboost_program_options.so.1.44.0()(64bit)  
libboost_python-mt.so.1.44.0()(64bit)  
libboost_python.so.1.44.0()(64bit)  
libboost_random-mt.so.1.44.0()(64bit)  
libboost_random.so.1.44.0()(64bit)  
libboost_regex-mt.so.1.44.0()(64bit)  
libboost_regex.so.1.44.0()(64bit)  
libboost_serialization-mt.so.1.44.0()(64bit)  
libboost_serialization.so.1.44.0()(64bit)  
libboost_signals-mt.so.1.44.0()(64bit)  
libboost_signals.so.1.44.0()(64bit)  
libboost_system-mt.so.1.44.0()(64bit)  
libboost_system.so.1.44.0()(64bit)  
libboost_thread-mt.so.1.44.0()(64bit)  
libboost_unit_test_framework-mt.so.1.44.0()(64bit)  
libboost_unit_test_framework.so.1.44.0()(64bit)  
libboost_wave-mt.so.1.44.0()(64bit)  
libboost_wserialization-mt.so.1.44.0()(64bit)  
libboost_wserialization.so.1.44.0()(64bit)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rpmlib(PayloadIsXz) <= 5.2-1
Run Code Online (Sandbox Code Playgroud)

boost-devel 包是唯一具有 boost 头文件的包,它需要其他包,所以你的问题的答案是:不,你不能安装只提供头文件的包。Fedora 包通常有它们的-devel包需要另一个包,其中包含用于使用包中的头文件进行编译的任何库,就像在这种情况下一样。

  • `boost-devel` 包是唯一具有 boost 头文件的包,它需要其他包,所以你的问题的答案是:不,你不能安装只提供头文件的包。Fedora 包通常有它们的 -devel 包需要另一个包,其中包含用于使用包中的头文件进行编译的任何库,就像在这种情况下一样。 (3认同)