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包才能正常安装。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2020-01-01 [转]在WorldWind中加入*.x格式的三维模型