Linux中的包名"xxx"和"xxx-dev"有什么区别?

1. 引入

在安装包的时候,有时候需要安装xxx的包,有时候又需要安装xxx-dev的包 (在CentOS系列发行版上则是xxx-devel)。这两类包之间又什么区别呢?

2. 结论

不包含-dev的包里面包含的是运行所需要的二进制文件或者连接库文件(如xxx.so),而包含-dev的包则包含包的源码文件(如.h文件),为的是在编译使用了这些库的程序的时候,能找到对应的头文件,否则只有二进制文件或者.so文件,编译时会报代码找不到头文件的错误。

下面举个例子进行说明。

我们只使用Python的话,用sudo apt install python即可,安装后就可以正常使用Python。

如果想要编译一个叫lxml的库,它依赖Python的源码,例如这里的代码依赖Python.h这个文件,因此我们需要安装python-dev包,把Python.h安装到本地上,这样lxml包才能正常安装。

3. 参考

  1. https://stackoverflow.com/questions/2358801/what-are-devel-packages
posted @   rainbow70626  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2020-01-01 [转]在WorldWind中加入*.x格式的三维模型
点击右上角即可分享
微信分享提示