Windows下如何修改pkg-config的PKG_CONFIG_PATH环境变量?
解决Windows下pkg-config识别FFmpeg路径的问题
一、先明确:Windows下pkg-config支持PKG_CONFIG_PATH
大部分Windows版本的pkg-config(包括你用的NPM版pkg-config)是支持PKG_CONFIG_PATH环境变量的,之前看到的矛盾信息大概率是针对老旧版本,不用纠结。
二、修改环境变量的两种方式
临时生效(仅当前终端会话)
打开运行CMake-js的终端(CMD或PowerShell),执行对应命令:
- CMD环境:
set PKG_CONFIG_PATH=C:/ffmpeg/lib;%PKG_CONFIG_PATH% - PowerShell环境:
$env:PKG_CONFIG_PATH = "C:/ffmpeg/lib;$env:PKG_CONFIG_PATH"
执行完可以验证变量是否生效:
echo %PKG_CONFIG_PATH% # CMD里执行 $env:PKG_CONFIG_PATH # PowerShell里执行
永久生效(系统全局)
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」区点击「新建」,变量名填
PKG_CONFIG_PATH,变量值填C:/ffmpeg/lib;C:/Strawberry/c/lib/pkgconfig(两个路径用分号分隔) - 点「确定」保存,重启终端后生效
三、关键注意点
- 必须保证
C:/ffmpeg/lib目录下直接有.pc文件(比如libavcodec.pc),如果文件在子文件夹里,要么把.pc移到C:/ffmpeg/lib下,要么把子文件夹路径也加到PKG_CONFIG_PATH里(比如C:/ffmpeg/lib/pkgconfig,根据你的实际层级调整) - 用NPM的
pkg-config时,要确保终端的环境变量已经加载正确,NPM会继承当前终端的环境变量 - 验证是否识别成功:执行
pkg-config --exists libavcodec,没报错就是成功了;如果报错,执行pkg-config --debug libavcodec看详细检索路径,排查问题
内容的提问来源于stack exchange,提问作者Project PowerPoint
相关产品推荐
相关产品推荐

