6
回答
请教一下linux下的一个问题
科大讯飞通用文字识别100000次/天免费使用。立即申请   

请教一下libcurl和libcurl-devel这两个库有什么区别,前者跟后者是不是包含和被包含关系?

今天用源代码安装git,机器安装了libcurl,无法编译通过,必须再安装libcurl-devel包才能通过,比较好奇这两者之间的关系。

举报
money1991
发帖于4年前 6回/623阅
共有6个答案 最后回答: 4年前

引用来自“YiseNet”的答案

libxxx包含了库文件,给程序引用用的

libxxx-devel是开发包文件,可以引用到自己程序里编译用的

libxxx相当于只有动态库的部分  只能被编译好的程序运行的时候链接,但缺少部分头文件的源代码,所以不能编译。如果是编译为动态库,需要libxxx-devel里边的头文件,如果要编译为静态的则需要里边的头文件和c文件都需要,所以libxxx-devel对要编译一个程序的时候是必不可少的。
用yum info就能查看包的介绍: 
yum info libcurl 
yum info libcurl-devel 
libcurl-devel的含义:   Files needed for building applications with libcurl
其实就是一些libcurl库的C头文件,比如你要使用libcurl库进行Linux C开发或者编译依赖libcurl库的程序,你就需要这个包了.

你可以下载这个包解压查看内容:
yum -y install yum-utils
mkdir 
libcurl-devel
cd libcurl-devel
yumdownloader libcurl-devel
rpm2cpio libcurl-devel.rpm | cpio -div

或者直接到pkgs.org上搜索查看包的介绍和内容,比如:
/usr/bin/curl-config
/usr/include/curl/
/usr/include/curl/curl.h
/usr/include/curl/curlbuild-32.h
/usr/include/curl/curlbuild.h
/usr/include/curl/curlrules.h
/usr/include/curl/curlver.h
/usr/include/curl/easy.h
/usr/include/curl/mprintf.h
/usr/include/curl/multi.h
/usr/include/curl/stdcheaders.h
/usr/include/curl/typecheck-gcc.h
/usr/include/curl/types.h
/usr/lib/libcurl.so
/usr/lib/pkgconfig/libcurl.pc
/usr/share/aclocal/libcurl.m4
/usr/share/doc/libcurl-devel-7.19.7/
/usr/share/doc/libcurl-devel-7.19.7/10-at-a-time.c
/usr/share/doc/libcurl-devel-7.19.7/ABI
/usr/share/doc/libcurl-devel-7.19.7/CONTRIBUTE
/usr/share/doc/libcurl-devel-7.19.7/INTERNALS

顶部