pkg-config 使用

`pkg-config --libs grpc++ grpc`

https://www.cnblogs.com/rainsoul/p/10567390.html

https://blog.csdn.net/makesifriend/article/details/84797995

2 为什么要有pkg-config

从上面的例子,可以看出,pkg-config给出了opencv的头文件和库的所有信息!
这有什么好处?

所有用opencv的其他程序,在编译时,只需要写“pkg-config opencv –libs –cflags”,而不需要自己去找opencv的头文件在哪里,要链接的库在哪里!省时省力!
如果你写了一个库,不管是静态的还是动态的,要提供给第三方使用,那除了给人家库/头文件,最好也写一个pc文件,这样别人使用就方便很多,不用自己再手动写依赖了你哪些库,只需要敲一个”pkg-config [YOUR_LIB] –libs –cflags”。
3 pkg-config的信息从哪里来?

很简单,有2种路径:
第一种:取系统的/usr/lib下的所有*.pc文件。
第二种:PKG_CONFIG_PATH环境变量所指向的路径下的所有*.pc文件。

这些pc文件什么时候有的?都是在你安装某个库/模块的时候,添加的。比如你往系统安装opencv时,就会在/usr/lib/目录下,放一个opencv.pc。
比如,我的PC是这样的。你可以看到,有各种各样的pc文件。

从编译ffmpeg/examples,进而了解pkg-config

https://blog.csdn.net/cyh_24/article/details/8038700

 

ong.sun@DCE9942F595112 ~/ffmpeg_sources/x264
$ make install
install -d /home/shuangyong.sun/bin
install x264.exe /home/shuangyong.sun/bin
install -d /home/shuangyong.sun/ffmpeg_build/include /home/shuangyong.sun/ffmpeg_build/lib/pkgconfig
install -m 644 ./x264.h x264_config.h /home/shuangyong.sun/ffmpeg_build/include
install -m 644 x264.pc /home/shuangyong.sun/ffmpeg_build/lib/pkgconfig
install -d /home/shuangyong.sun/ffmpeg_build/lib
install -d /home/shuangyong.sun/bin
.dll /home/shuangyong.sun/bin
install -m 644 libx264.dll.a /home/shuangyong.sun/ffmpeg_build/lib
install -d /home/shuangyong.sun/ffmpeg_build/lib
install -m 644 libx264.a /home/shuangyong.sun/ffmpeg_build/lib
gcc-ranlib /home/shuangyong.sun/ffmpeg_build/lib/libx264.a

shuangyong.sun@DCE9942F59

 

cmake中PkgConfig

https://zhuanlan.zhihu.com/p/64424440

https://blog.csdn.net/qq_32768743/article/details/102521141

https://cmake.org/cmake/help/v3.0/module/FindPkgConfig.html

https://www.jianshu.com/p/129037a4afd8

cmake_minimum_required(VERSION 3.15)
project(demo)

set(CMAKE_CXX_STANDARD 17)
find_package(PkgConfig REQUIRED)
pkg_search_module(CCRTP REQUIRED libccrtp)
add_executable(demo main.cpp)
target_link_libraries(demo  ${CCRTP_LIBRARIES})
#`pkg-config --libs grpc++ grpc`
#set(ENV{PKG_CONFIG_PATH} /usr/local/lib/pkgconfig)
#find_package(PkgConfig REQUIRED)
#pkg_search_module(GRPC REQUIRED grpc
#GRPC++ REQUIRED grpc++)
#pkg_search_module(GRPC++ REQUIRED grpc++)
#pkg_search_module(CCRTP REQUIRED libccrtp)
#target_link_libraries(demo  ${CCRTP_LIBRARIES})

 

 

简述configure、pkg-config、pkg_config_path三者的关系

https://www.cnblogs.com/wliangde/p/3807532.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值