我正在尝试编译代码,为了使其工作,我需要在编译之前运行以下行:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
此后,代码可以正常编译,我尝试添加此代码,这样每次重新启动 PC 时就无需运行此行。我尝试将该行添加到文件中.bashrc
(文件路径是否需要引号?),但似乎不起作用。我还尝试创建一个.bash_profile
文件并在其中添加该行,但这似乎仍然不起作用。
添加后,每当我尝试编译时.bash_profile
都会出现以下错误:
./makeScript: line 1: pkg-config: command not found
答案1
~/.bashrc
如果你将它添加到或中它应该可以工作~/.bash_profile
。
如果这不起作用,请确保你的脚本确实使用了bash
shell (舍邦),如果你使用了不同的shell,有可能无法加载。
不过,我认为您的问题与无关PKG_CONFIG_PATH
,而是与PATH
不包含pkg-config
可执行二进制文件所在的正确目录的变量有关。
检查方式:
$ which pkg-config
/usr/local/bin/pkg-config
如果找不到它,请确保你已经安装并链接它,例如使用自制:
brew install pkg-config; brew link pkg-config
而你的/usr/local/bin
在你的PATH
,例如
export PATH=/usr/local/sbin:/usr/local/bin:$PATH
附注:您可以set
在链接失败之前运行命令来检查导出变量。
跟踪问题的另一件事是通过运行以下命令来调试脚本:bash -x ./makeScript
或者-x
在脚本末尾添加舍邦(例如#!/bin/bash -x
)。
答案2
拿~/.profile
:
$ cat >> ~/.profile << EOF
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
> EOF
加载更改(如果您不想重新启动):
$ source ~/.profile
测试:
$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig