从 WSL 中的 bash 脚本运行时,CMake 找不到源目录

威尼迪斯

我正在运行适用于 Linux 的 Windows 子系统的 Ubuntu 版本。在那里我设置了一个简单的 cmake 项目并创建了一个脚本来避免我输入

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../

每次我想建造。我的 CMakeLists.txt 存在于上面的两个目录中(因此../../)。如果我手动键入上面的命令或使用完全相同的命令运行 powershell 脚本,则构建工作正常

但是在 WSL 中运行这个 bash 脚本

#!/bin/bash
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../

我收到错误" does not exist.source directory "/mnt/c/dev-files/C/Practice/

看起来 bash 脚本弄乱了 cmake 的错误输出,所以我猜测脚本正在执行 cmake 或错误地传递参数,但我不知道为什么。

威尼迪斯

在尝试其他命令时,我注意到一些其他命令参数具有\r错误指出的行内结尾。

问题是脚本有 Windows 行结尾,正如 steeldriver 在问题中评论的那样。

使用dos2unix命令很容易修复,例如:

dos2unix script.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章