pkgconfig使用 - erlang非业余研究 - JavaEye技术网站
pkgconfig使用
关键字: pkgconfig install
你是否经常用到一个第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
首先为你要安装的库写一个.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