Closed v1nh1shungry closed 2 years ago
2.6.5
Windows 10 version 21H2
Windows环境(MSYS2 MinGW)中在空目录中执行XMake: CreateProject命令,会导致创建的项目异常损坏,以下是在空目录D:\msys64\home\lenovo\repos\cpp\tutor中由XMake: CreateProject命令创建的项目结构:
XMake: CreateProject
. ├── build │ └── compile_commands.json └── msys64homelenovoreposcpptutor └── msys64homelenovoreposcpptutor ├── .gitignore ├── main.cpp └── xmake.lua
能够像在Linux环境中执行相同操作后创建健康的项目,以下为在Linux环境中执行相同操作创建的项目结构:
. ├── build │ └── compile_commands.json ├── .gitignore ├── src │ └── main.cpp ├── .xmake │ └── linux │ └── x86_64 │ └── cache │ ├── detect │ └── toolchain └── xmake.lua
无
终端输出的信息:
> Executing task: xmake create -t console -l c++ -P d:\msys64\home\lenovo\repos\cpp\tutor < create d:msys64homelenovoreposcpptutor ... error: cannot open file: xmake.lua, No such file or directory 终端进程“D:\msys64\usr\bin\bash.exe '--login', '-i', '-c', 'xmake create -t console -l c++ -P d:\msys64\home\lenovo\repos\cpp\tutor'”已终止,退出代码: 127。
应该是因为xmake的-P参数并不支持Windows格式的绝对路径,也不支持反下划线,然而插件应该是直接使用了VS Code提供的workspace系列变量,而这些变量是Windows路径格式的。我粗看了xmake的文档没找到关于xmake create 的-P参数的说明,不清楚这应该是谁的责任,所以先在这个项目下提出issue了。
-P
workspace
xmake create
msys2 的 bash.exe 问题,自动转义了 \ ,得加 "" 去wrap 下,"d:\msys64\home\lenovo\repos\cpp\tutor" 。。或者用反斜杠,或者用 \\
\
""
"d:\msys64\home\lenovo\repos\cpp\tutor"
\\
你可以切到 cmd 作为 bash ,就不会有问题,或者来个 pr 改下插件,对路径加个 ""
感谢回复!
Xmake 版本
2.6.5
操作系统版本和架构
Windows 10 version 21H2
描述问题
Windows环境(MSYS2 MinGW)中在空目录中执行
XMake: CreateProject
命令,会导致创建的项目异常损坏,以下是在空目录D:\msys64\home\lenovo\repos\cpp\tutor中由XMake: CreateProject
命令创建的项目结构:期待的结果
能够像在Linux环境中执行相同操作后创建健康的项目,以下为在Linux环境中执行相同操作创建的项目结构:
工程配置
无
附加信息和错误日志
终端输出的信息:
应该是因为xmake的
-P
参数并不支持Windows格式的绝对路径,也不支持反下划线,然而插件应该是直接使用了VS Code提供的workspace
系列变量,而这些变量是Windows路径格式的。我粗看了xmake的文档没找到关于xmake create
的-P
参数的说明,不清楚这应该是谁的责任,所以先在这个项目下提出issue了。