cmake window下 sh.exe was found in your PATH, here

在window下 mingw环境下 用 camke 编译Cpp程序

CMake Error at D:/Program Files/CMake/share/cmake-3.8/Modules/CMakeMinGWFindMake.cmake:12 (message):
  sh.exe was found in your PATH, here:

  C:/cygwin64/bin/sh.exe

  For MinGW make to work correctly sh.exe must NOT be in your path.

  Run cmake from a shell that does not have sh.exe in your PATH.

  If you want to use a UNIX shell, then use MSYS Makefiles.

Call Stack (most recent call first):
  CMakeLists.txt:2 (project)

  解决方法:

在环境里面 系统环境变量 用户环境变量 PATH中

找 C:/cygwin64/bin 删除

关闭cmd 重新编译

window minw cmake 命令:

cmake -G   "MinGW Makefiles" ..

 

转载于:https://www.cnblogs.com/a9999/p/7610743.html

### 解决方案 当遇到 `find_package(catkin)` 失败的问题时,通常是因为 Catkin 或者 ROS 的环境变量未被正确设置。以下是几种可能的解决方案: #### 方法一:源化 ROS 环境配置脚本 确保已经正确设置了 ROS 环境,在终端执行命令来激活当前 shell 对应版本的 ROS 设置[^2]。 ```bash source /opt/ros/<distro>/setup.bash ``` 其中 `<distro>` 需要替换为实际使用的 ROS 发行版名称(如 noetic、melodic)。如果是在自定义的工作区,则还需要额外添加该工作区路径下的 setup 文件: ```bash source ~/catkin_ws/devel/setup.bash ``` 这一步骤可以使得 CMake 能够找到必要的包并成功解析依赖关系。 #### 方法二:调整 CMAKE_PREFIX_PATH 变量 对于某些特定情况或者开发工具链而言,可以通过手动指定 `CMAKE_PREFIX_PATH` 来帮助定位 catkin 安装位置[^4]: ```bash export CMAKE_PREFIX_PATH=/path/to/catkin/installation:$CMAKE_PREFIX_PATH ``` 这里的 `/path/to/catkin/installation` 应指向包含有 catkin 的安装目录;例如常见的可能是 `/opt/ros/noetic` 或其他个人构建后的目标地址。 #### 方法三:验证 CATKIN 已经安装 确认系统上确实已安装了 catkin 包,并且其版本与所用 ROS 版本相匹配。可通过 apt-get 命令查询状态或重新安装最新稳定版[^1]。 ```bash sudo apt update && sudo apt install --reinstall ros-noetic-catkin ``` 以上措施有助于修复由于缺少适当初始化而导致无法识别 catkin 所引发的一系列错误消息。 #### 注意事项 - 如果正在使用 IDE 如 CLion 编辑器处理 ROS 项目,请参照官方文档说明完成相应集成步骤后再尝试上述方法[^5]。 - 当修改任何环境变量之后记得重启受影响的应用程序以便使更改生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值