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.bat
、g6.bat
和gg.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:;;=;%
我使用 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.bat
、g6.bat
和gg.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:;;=;%