pkg-config

pkg-config可以为你提供一些依赖,如头文件,还有库文件。他原来是为Linux而设计的,目前在windows、Mac OS 也普遍应用。
用法为:

gcc/g++ test.c/test.cpp `pkg-config --cflags --libs opencv`

也可以多个一起使用如:opencv与SDL一起

gcc/g++ test.c/test.cpp `pkg-config --cflags --libs opencv sdl2`

需要注意⚠️`是tab键上面的点,而不是与双引号一起的那个’。
pkg-config的使用是需要扩展名为.pc的文件支持的,例如opencv的就是opencv.pc,sdl2的就是sdl2.pc。在MacOS系统中,这些文件一般存放在/usr/local/lib/pkgconfig或者 /usr/lib/pkgconfig/。这个路径用系统变量PKG_CONFIG_PATH指定,通过命令cat $PKG_CONFIG_PATH,我们可以知道他所指向的路径。
那么*.pc文件里面又是些什么呢?以sdl.pc为例子,我们看一下:

# sdl pkg-config source file

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: sdl2
Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
Version: 2.0.4
Requires:
Conflicts:
Libs: -L${libdir}  -lSDL2 
Libs.private: -lSDL2   -lm -liconv  -Wl,-framework,ForceFeedback -lobjc -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,IOKit -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
Cflags: -I${includedir}/SDL2  -D_THREAD_SAFE

运行:

pkg-config –cflags –libs sdl2

输出为:

-D_THREAD_SAFE -I/usr/local/include/SDL2 -L/usr/local/lib -lSDL2

实际上就是,提供我们编译代码的时候需要的一些信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值