msys2,使用标准 windows 控制台

msys2, using standard windows console

我使用 Console2 (link1 link2),它就像是标准控制台的包装器,但允许使用 ctrl-shift-c 和 ctrl-shift-v 复制粘贴文本。我发现它比 msys2 附带的控制台舒服得多,它们有类似 ctrl-ins shift-ins 的奇怪之处。拥有两个不同的控制台并不好。

如何使用 Console2 启动编译器?我想将 C:\msys64\mingw32\bin 添加到 PATH,但我不想在 PATH 中有太多的 exe 和 dll,不想分发依赖于 libgcc_s_dw2-[=26= 的东西] 一不小心。

此外,我需要能够以某种方式在 mingw32 和 mingw64 编译器之间切换。

尝试阅读c:/msys64/msys2_shell.cmd,不明白里面的内容。

切换到 windows 命令行可能需要从 unix shell 命令移动到 windows 命令。我可以重写我正在使用的一些 makefile,这不是什么大问题。

也许我可以走另一条路,在日常生活中使用msys2控制台。我只用它来启动 youtube-dl 和我编写的另一个程序。这将需要使复制粘贴更容易,并需要一些在 mingw32 和 mingw64 之间切换的方法。

https://whosebug.com/posts/46015587/edit

临时解决方案:创建三个文件g3.batg6.batgg.bat,并将它们放在其中一个PATH目录中。它们允许在 PATH 中临时添加或删除 mingw32 或 mingw64。

g3.bat:

call gg.bat
SET PATH=%PATH%C:\msys64\mingw32\bin;

g6.bat:

call gg.bat
SET PATH=%PATH%C:\msys64\mingw64\bin;

gg.bat:

set PATH=%PATH:C:\msys64\mingw32\bin;=%
set PATH=%PATH:C:\msys64\mingw64\bin;=%

调用此方法检查结果:echo %PATH%


版本 2,尝试不使用前导 ;

它几乎可以工作,但 gg.bat 仍然落后于前导 ;。我可以改用 set PATH=%PATH:;C:\msys64\mingw32\bin=%(注意 %PATH: 右侧的额外 ;),但如果 C:\msys64\mingw32\bin 位于 PATH 的开头,它会中断。

此外,我不确定是否需要""

g3.bat:

call gg.bat
SET PATH=%PATH%;C:\msys64\mingw32\bin

g6.bat:

call gg.bat
SET PATH=%PATH%;C:\msys64\mingw64\bin

gg.bat:

set PATH=%PATH:C:\msys64\mingw32\bin=%
set PATH=%PATH:C:\msys64\mingw64\bin=%
set "PATH=%PATH:;;=;%"

版本 3,"eeh whatever":

gg.bat:

set PATH=%PATH:;C:\msys64\mingw32\bin=%
set PATH=%PATH:;C:\msys64\mingw64\bin=%

set PATH=%PATH:C:\msys64\mingw32\bin;=%
set PATH=%PATH:C:\msys64\mingw64\bin;=%

set PATH=%PATH:C:\msys64\mingw32\bin=%
set PATH=%PATH:C:\msys64\mingw64\bin=%

set PATH=%PATH:;;=;%