首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cmake和/opt/cmake/bin/cmake显示不同的版本

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

Stack Overflow用户
提问于 2018-09-02 09:28:20
回答 2查看 255关注 0票数 0

我对C++编程和cmake非常陌生。如果这个问题看起来简单的话,请容忍我。

我正在构建一个应用程序,其中cmake 3.9.0是所需的最低版本。

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-02 09:48:49

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

代码语言:javascript
复制
export PATH=/opt/cmake/bin:$PATH
票数 1
EN

Stack Overflow用户

发布于 2020-07-16 03:36:53

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

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

应该首先在脚本中保存当前的PATH变量,如下所示

代码语言:javascript
复制
ORIGINAL_PATH=${PATH}

现在,如@john所提到的,导出新的PATH变量,如

代码语言:javascript
复制
export PATH=/opt/cmake/bin:${PATH}

在运行setup.sh之后(同样假定构建脚本),您应该恢复旧的PATH-variable,这样构建脚本就不会更改用户全局设置。

代码语言:javascript
复制
export PATH=${ORIGINAL_PATH}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52135635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档