示例**:
c**
#include
#include
int main()
else
}
在例項**中存在libxml庫的依賴,
對於一般的c工程來說我們可以通過下面三種方式來新增libxml庫的依賴:
1.使用pkg-config
a. 在
configure.ac (或者
configure.in
)中新增如下巨集:
m4**
pkg_check_modules(xml, libxml-2.0 >= 2.4)
./configure 時會去確認
libxml-2.0的版本號,大於或者等於2.4。
libxml-2.0 是依賴庫的庫名,可以通過命令
pkg-config --list-all 檢視當前所有的
pkg-config支援庫。
b. 在 makefile.am 中新增如下巨集:
m4**
tut_prog_cppflags = $(xml_cflags)
tut_prog_ldflags= $(xml_libs)
其中tut_prog是程式名,$(xml_cflags) 和 $(xml_libs)就是對應的依賴庫。
2.使用autoconf工具提供的巨集
在/usr/share/aclocal 中有很多用m4寫好的巨集,我們可以找到libxml對應的
/usr/share/aclocal/libxml.m4。
a. 在
configure.ac (或者
configure.in
)中新增如下巨集:
m4**
am_path_xml2(2.4.0)
b. 在 makefile.am 中新增如下巨集:
m4**
tut_prog_cppflags = $(xml_cppflags)
tut_prog_ldflags= $(xml_libs)
注意:這裡的$(xml_cppflags)和第一點不同,是在libxml.m4中有定義的巨集。
如果在/usr/share/aclocal/中找不到對應的m4巨集,你可以去這裡
看看,也許已經有人寫好了一些常用的m4巨集。
3.手動指定依賴庫的路徑
在 makefile.am 中新增如下**:
m4**
tut_prog_cppflags = -i /usr/include/libxml2
tut_prog_ldflags= -lxml2
給 C工程新增庫依賴的幾種方法
示例 include include int main else 在例項 中存在libxml庫的依賴,對於一般的c工程來說我們可以通過下面三種方式來新增libxml庫的依賴 1.使用pkg config a.在 configure.ac 或者 configure.in 中新增如下巨集 pkg che...
C gdal給影像新增金字塔的幾種方法
gdaladdo input file.tif 2 4 8 16 官方文件 cplerr gdaldataset buildoverviews const char pszresampling,int noverviews,int panoverviewlist,int nlistbands,int...
解決RPM包依賴的幾種方法
前言 常用rpm的朋友們都知道,rpm簡單易用,但是它的依賴關係是最頭疼的!有時候比方說a包需要b包,b包需要c包,c包需要a包,好了。這就是最常見的死鎖了 類似資料庫有木有?這個時候有以下幾種方式可以解決 a 強制安裝 暴力型 使用rpm i force nodeps 強制安裝。忽略依賴關係。這種...