当我定义PATH变量时,为什么还应该使用--with-boost选项

问题描述 投票:1回答:1

我很想听听你解决这个问题的解释和方法,这个问题我已经面对这么长时间了。

我在远程集群中工作,不允许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

我被提示错误消息

configure:error:找不到Boost头文件版本> = 1.41.0

当我配置时

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

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

我的猜测是,因为我定义并将PATH变量导出到boost目录,所以当我执行--with-boost=../../boost_1_65_1命令时,我不需要./configure选项。但是,我需要它。

有人可以解释我错过了什么吗?

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

ubuntu boost configure
1个回答
0
投票

使用PATH对autotools没有影响(除了可能在配置过程中找到要执行的二进制文件)。

除非您的具体项目已做出其他安排,否则您需要提供pkg-config。有时候他们会使用BOOST_DIR或者选择一个专用的环境变量(如BOOST_ROOT或qazxswpoi)。

我认为这些都不适用于基于autotools的项目。

© www.soinside.com 2019 - 2024. All rights reserved.