【问题标题】:Is there a C++ dependency index somewhere?某处是否有 C++ 依赖索引?
【发布时间】:2011-01-25 15:11:05
【问题描述】:
在尝试新软件并使用经典的./configure、make、make install 进程进行编译时,我经常看到类似的情况:
错误:____.h:没有这样的文件或目录
有时,我真的很幸运,apt-get install ____ 安装了缺失的部分,一切都很好。然而,这并不总是发生,我最终在谷歌上搜索找到包含我需要的包。有时该软件包的版本或风格错误,并且已被我下载的另一个软件包使用。
人们如何知道哪些包包含哪些 .h 文件或编译器需要的任何资源?是否有依赖解析器网站或人们用来将失败的构建解码为丢失包的东西?是否有更现代的方法可以自动下载和安装构建的传递依赖项(有点像 Java 的 Maven)?
【问题讨论】:
标签:
c++
dependencies
makefile
【解决方案1】:
所需的软件包有望在构建软件包的文档中列出。如果它说您需要foo,您可能需要寻找foo 和foo-devel,也许还有libfoo-devel。如果这没有帮助,在 Fedora 中我会做类似的事情
yum install install /usr/include/_____.h
(yum 将寻找包含该文件的包)。如果以上都不起作用,请在 Google 中查找文件名,它应该会告诉您它来自哪个包。但是接下来会变得很艰难......
【解决方案2】:
您也可以使用“auto-apt ./configure”(在 Ubuntu 上,也可能在 Debian 上?)它会尝试自动下载依赖项。
【解决方案3】:
如果是 Debian 中的一个包,你可以使用apt-get build-dep 来获取所有的 deps。
否则,请阅读程序附带的自述文件——希望它列出了该程序的所有依赖项。