论坛首页 综合技术论坛

pkgconfig使用

浏览 4493 次
锁定老帖子 主题:pkgconfig使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-17  
你是否经常用到一个第3方的库的时候 经常不知道他的头文件在哪里库 文件在哪里,每个发行版本安装的地方都可能不太一样 这时候你就需要象pkgconfig这样的工具:

首先为你要安装的库写一个.pc文件 如 lua.pc

# lua.pc -- pkg-config data for Lua

# vars from install Makefile

# grep '^V=' ../Makefile
V= 5.1
# grep '^R=' ../Makefile
R= 5.1.2

# grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
prefix= /usr/local
INSTALL_BIN= ${prefix}/bin
INSTALL_INC= ${prefix}/include
INSTALL_LIB= ${prefix}/lib
INSTALL_MAN= ${prefix}/man/man1
INSTALL_LMOD= ${prefix}/share/lua/${V}
INSTALL_CMOD= ${prefix}/lib/lua/${V}

# canonical vars
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Lua
Description: An Extensible Extension Language
Version: ${R}
Requires:
Libs: -L${libdir} -llua -lm
Cflags: -I${includedir}

# (end of lua.pc)
 
放在/usr/lib/pkgconfig或者 /usr/local/lib/pkgconfig里面.

然后在你的工程里面写上
gcc -o you.out you.c `pkg-config "lua" --libs --cflags`

大功告成。Note: `pkg-config "lua" --libs --cflags` 的输出结果如 -I/usr/local/include  -L/usr/local/lib -llua -lm

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics