有人说配置 LNMP 环境,只需要 **-devel就可以
比如过zlib库;只需要安装 zlib-devel是这样的么
希望各位有知道的,能解释下,非常感谢
我在百度上提问了,
网友 lipengin1975 回答说
指对应软件包的开发包,一般会包括头文件、静态库甚至源码。
仅仅使用这些软件包是不需要安装-devel包的,但如果自己开发的软件需要用到这些软件包中的共享库等等的话就需要安装。
比如zlib库,有些应用依赖于这个库才能正常运行,因此需要安装zlib,但如果你不自己开发软件并用到zlib库的话则无需安装zlib-devel库
我是不是可以这么理解,拿libpng 库 举例;
我自己开发的网站,有用到libpng 库 来处理png图片 ,这时我需要用libpng -devel 开发包 来编译下我的源代码;
我还需要libpng库,来支持 经过 libpng -devel 编译过得 源代码?
libpng这个包括的是运行库,libpng.so linpng.a,其他直接二进制依赖这些运行文件的就可以用了
libpng-devel这个包括运行库和头文件等,在需要编译c/C++的程序时,需要使用,因为代码中有#include <libpng.h>这样需要编译时用到的文件
有人这么告诉我的,我想把libpng 的功能嵌入到我的程序中,那么我就需要 libpng-devel;因为我需要调用libpng 的 api,而libpng 库 不提供api 的调用
当我只需要用libpng 库 不需要调用 api ,不需要把libpng 的功能嵌入到我的程序中时,我只需要libpng就可以了
是这样的吗?
@庆小伟: 意思基本对,但存在一种情况libpng 也可能是你应用的其他库依赖它,因此整个应用可能间接调用其api,如果你的应用整体上都不调用其api,那你的应用就没有必要依赖这个库了
这个内容你看看http://product.china-pub.com/195439 这本书或电子版,一切问题迎刃而解
@2012: 谢谢