当我为 boost 目录导出 PATH 变量时,为什么仍应为 ./configure 使用 --with-boost

当我为 boost 目录导出 PATH 变量时,为什么仍应为 ./configure 使用 --with-boost

我很想听听您对我长期以来面临的问题的解释和解决方法。

我在远程集群中工作,其中不允许使用 sudo 命令,并且不允许对 $HOME 分支上方的目录进行任何操作($HOME=/storage/5/trentalove

我需要配置

$HOME/external/trentacoollime

使用 boost 库,我$HOME/boost_1_65_1使用 boost_1_65_1.tar.bz2 源代码安装的http://www.boost.org/users/history/version_1_65_1.html

(请注意,这sudo apt-get install libboost-all-dev是不允许的。)

然后,我在 .bash_profile 中定义我的 PATH 变量并将其导出为“export PATH = $HOME/boost_1_65_1:$PATH”

但是,当我在 $HOME/external/trentacoollime 目录中进行配置时,

./configure

我收到错误消息

配置:错误:找不到 Boost 标头版本> = 1.41.0

当我配置

./configure --with-boost=../../boost_1_65_1

它没有给我任何错误消息并且配置成功。

--with-boost=../../boost_1_65_1我的猜测是,由于我定义并导出了 PATH 变量到 boost 目录,因此执行命令时不需要该选项./configure。但是,我需要它。

有人可以解释一下我遗漏了什么吗?

ps 我在自己的机器上做了同样的事情sudo apt-get install libboost-all-dev,在目录下安装了 boost_1_65_1 /usr/include。然后我仍然可以使用不$HOME/external/trentacoollime带选项的选项配置 ($PATH 的定义方式与集群中相同)。但是,请注意,我无法在集群中实施相同的策略,因为我没有权限使用 sudo 或任何类型的 mv、cp、ln 命令,因为它位于比我的目录更高的分支。./configure--with-boost=/usr/include$HOME

相关内容