如何查找获取缺失C/C++库所需安装的Linux软件包名称?
在Ubuntu中查找缺失头文件对应软件包的方法
使用
apt-file工具
这是Ubuntu下定位文件归属包的核心工具,操作步骤如下:- 先安装
apt-file:sudo apt-get install apt-file - 更新文件数据库保证数据最新:
sudo apt-file update - 直接搜索目标头文件名,比如你需要的
poppler-document.h:
执行后会直接输出该头文件的所属包信息,例如apt-file search poppler-document.hlibpoppler-dev: /usr/include/poppler/cpp/poppler-document.h,精准定位到对应开发包。
- 先安装
使用
dpkg反向查询(仅针对已安装包)
如果目标头文件所在的包已经安装,可以用dpkg快速查询归属:dpkg -S poppler-document.h但该方法仅适用于已安装软件包,未安装的包无法查询,因此
apt-file是更通用的选择。通用规律参考
多数开发所需的头文件都在libxxx-dev格式的包中(xxx对应核心库名),比如poppler的开发包就是libpoppler-dev,不过通过工具查询比凭经验猜测更准确可靠。
内容的提问来源于stack exchange,提问作者user13343959
相关产品推荐
相关产品推荐

