export PKG_CONFIG_PATH=/usr/local/ffmpeg/lib/pkgconfig
来源:5-2 FFmpeg开发入门Log系统

Recker
2018-09-26
export PKG_CONFIG_PATH=/usr/local/ffmpeg/lib/pkgconfig
老师这段代码是什么意思?
再问下mac下如何设置包路径?我这边设置了上面那段代码然后再运行
clang -g -o ffmpeg_log ffmpeg_log.c `pkg-config --libs --cflags libavutil`
才可以
2回答
-
慕粉3536494
2019-11-09
我也是mac,遇到了这个问题。环境变量已配置,echo $PATH可以看到正确配置的环境信息。所有的.pc文件均可找到,但还是报如上错误,请问何解?
022019-11-10 -
李超
2018-09-26
你问了一个很好的问题,这就涉及到Linux/Mac下的编译机制了。如果对Linux不熟悉的话,是很难理解上面为什么要这样做的。
无论是在Linux系统下还是在Window系统下,大家对PATH都比较了解。只要我们将一个可执行程序放在 PATH这个路径下,那么无论我在哪里执行这程序,它都能正常执行,这个你是有体会的对吧。
为什么会这样呢?这是因为我们在运行这个程序的时候,操作系统会到 PATH的路径上查找每一个目录下是否有我们要执行的程序。如果找到了,它才会真正调用那个目录下的我们要执行的程序。否则,如果操作系统找不到,它会给我们一个提示信息,说没有这个程序。
对于编译也是类似的原理。在我们执行上面那行编译指令的时候,其中的 pkg-config 命令是到 PKG_CONFIG_PATH指定的路径下找指定库的 .pc 文件,然后从.pc文件中拿到需要的库路径,名称以及头文件。有了库文件,和头文件之后,我们才能编译成功。
你可按我说的到 usr/local/ffmpeg/lib/pkgconfig目录下,看看是否有libavutil libavformat等相关的.pc文件存在,再看看里边的内容你就清楚了。
022019-07-31
相似问题