cmake和/ opt / cmake / bin / cmake显示不同的版本

时间:2018-09-02 09:28:21

标签: c++ cmake

我对C ++编程和cmake还是很陌生。如果问题看起来很简单,请多多包涵。

我正在构建一个应用程序,其最低版本为cmake 3.9.0。

Setup.sh: Building rpclib with libc++.
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.9.0 or higher is required.  You are running version 3.5.1

所以我计划升级cmake版本,并点击以下链接。

https://geeksww.com/tutorials/operating_systems/linux/installation/downloading_compiling_and_installing_cmake_on_linux.php

注意:请注意,我不想清除现有版本,因为它可能会影响系统中的 ROS 环境。

我已经完成了下面的安装和结果。

当我运行 cmake -version 时:

kk@kk-Lenovo-ideapad-320-15ISK:~/cmake-3.9.0$ cmake -version 
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
kk@kk-Lenovo-ideapad-320-15ISK:~/cmake-3.9.0$ 

当我运行 / opt / cmake / bin / cmake -version

kk@kk-Lenovo-ideapad-320-15ISK:~/cmake-3.9.0$ /opt/cmake/bin/cmake --version
cmake version 3.9.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
kk@kk-Lenovo-ideapad-320-15ISK:~/cmake-3.9.0$

应用程序构建的问题/错误与以前相同。

请帮助我更新cmake或解决此现有版本问题。

谢谢

KK

2 个答案:

答案 0 :(得分:1)

这听起来像是PATH问题。您必须更改PATH变量,以便Setup.sh在早期版本之前找到您的cmake。在运行Setup.sh

之前,请尝试此操作
export PATH=/opt/cmake/bin:$PATH

答案 1 :(得分:1)

@john答案是正确的,但是可能会影响现有的ROS系统,因为将使用PATH变量的第一项。因此,您需要再次将PATH“取消导出”到旧设置,以与ROS系统一起保存。

假设脚本“ setup.sh”是某种构建脚本,它确实使用cmake来构建软件。

您应该先在脚本中保存当前的PATH变量,例如

ORIGINAL_PATH=${PATH}

现在将新的PATH变量导出为@john已经提到过,例如

export PATH=/opt/cmake/bin:${PATH}

在运行setup.sh(再次假定为构建脚本)之后,您应该还原旧的PATH变量,以便您的构建脚本不会更改用户全局设置。

export PATH=${ORIGINAL_PATH}