一直为ubuntu下的第三方库的使用头痛。
如果,写一个自己的库的话,需要作一些说什么工作?指bin、lib、include等文件夹,信息,如何提供给系统知道?
需要自己写一个,xxx-config工具,放在/usr/bin下面吗?
还是将export LD_FLAGS=$xxxx;$LDFLAGS这样的语句放进.bashrc里面?
比如,我试着编译osdlyrics。./configure 给我的提示是找不到libcurl。但是,apt-get install 又告诉我,已经安装了libcurl。我看一下./configure,发现里面是通过调用
pkg-config --exists --print-error "libcurl"的方式来检查的。
不知道,问题具体出在什么地方。
另外,好像在/etc下面,还有一个文件夹,叫 xxx.d,专门用来保存第三方库的lib文件夹位置。
我就像知道,ubuntu下面的编译环境,到底是怎么找各种库的所需要的文件的位置的?谁能提供一点详细的资料什么的?
如何使用第三方库?
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 如何使用第三方库?
/usr/include /usr/bin 等等。。
-
- 帖子: 403
- 注册时间: 2007-10-27 1:04
Re: 如何使用第三方库?
那楼上两位,pkg-config提示找不到libcurl;而sudo apt-get install libcurl又说libcurl已经安装,并且是最新版。这个问题出在何处呢?
下面摘自osdlyrics的configure:
下面摘自osdlyrics的configure:
$PKG_CONFIG --exists --print-errors "libcurl"
-
- 帖子: 403
- 注册时间: 2007-10-27 1:04
Re: 如何使用第三方库?
libcurl的问题解决了。
需要安装一个叫libcurl4-gnutls-dev的东西——不过,就名字来看,实在弄不懂libcurl和libcurl4-gnutls-dev的关系。蛋疼。
----------------------------------------------------------------------
另外,其实,我像知道的不是如何写xxx-config。
因为,xxx-config 无非就是,要么修改环境变量,或者提供一个如-I/usr/include的参数,给编译器。条条大路通罗马,具体可以有很多的做法。
所以,怎么写xxx-config,把xxx-config往什么地方扔,也不重要。
重要的是,比如gnu-gcc编译器组件,是如何工作的?比如,gcc和g++会找CPATH环境变量;ld会找LIBRARY_PATH环境变量;
另外,ubuntu系统是如何组织编译所需要的文件的?
/etc/ld.so.conf.d/libc.conf这个文件又有什么作用?
需要安装一个叫libcurl4-gnutls-dev的东西——不过,就名字来看,实在弄不懂libcurl和libcurl4-gnutls-dev的关系。蛋疼。
----------------------------------------------------------------------
另外,其实,我像知道的不是如何写xxx-config。
因为,xxx-config 无非就是,要么修改环境变量,或者提供一个如-I/usr/include的参数,给编译器。条条大路通罗马,具体可以有很多的做法。
所以,怎么写xxx-config,把xxx-config往什么地方扔,也不重要。
重要的是,比如gnu-gcc编译器组件,是如何工作的?比如,gcc和g++会找CPATH环境变量;ld会找LIBRARY_PATH环境变量;
另外,ubuntu系统是如何组织编译所需要的文件的?
/etc/ld.so.conf.d/libc.conf这个文件又有什么作用?