我对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版本,并点击以下链接。
注意:请注意,我不想清除现有版本,因为它可能会影响系统中的 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
答案 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}